Spring 3 JavaConfig @Importの例
通常は、//spring/load-multiple-spring-bean-configuration-file/[大規模なSpring XML Beanファイルを複数の小さなファイルにグループ化してグループ化することで、より保守性とモジュール性が向上します。例えば、
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<import resource="config/customer.xml"/>
<import resource="config/scheduler.xml"/>
</beans>
Spring3 JavaConfigでは、同等の機能は
@ Import
です。
package com.mkyong.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration
@Import({ CustomerConfig.class, SchedulerConfig.class })
public class AppConfig {
}
@インポートの例
JavaConfig
@ Import
の使い方の完全な例を参照してください。
1.ディレクトリ構造
この例のディレクトリ構造。

2. Spring Beans
2つのシンプルなSpring Bean。
File:CustomerBo.java
package com.mkyong.core;
public class CustomerBo {
public void printMsg(String msg) {
System.out.println("CustomerBo : " + msg);
}
}
File:SchedulerBo.java
package com.mkyong.core;
public class SchedulerBo {
public void printMsg(String msg) {
System.out.println("SchedulerBo : " + msg);
}
}
3. @設定例
さて、JavaConfig
@ Configuration
を使用して上記のBeanを宣言してください。
File:CustomerConfig.java
package com.mkyong.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.mkyong.core.CustomerBo;
@Configuration
public class CustomerConfig {
@Bean(name="customer")
public CustomerBo customerBo(){
return new CustomerBo();
}
}
File:SchedulerConfig.java
package com.mkyong.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.mkyong.core.SchedulerBo;
@Configuration
public class SchedulerConfig {
@Bean(name="scheduler")
public SchedulerBo suchedulerBo(){
return new SchedulerBo();
}
}
4. @mportの例
複数の設定ファイルをロードするには、
@ Import
を使用します。
File:AppConfig.java
package com.mkyong.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration
@Import({ CustomerConfig.class, SchedulerConfig.class })
public class AppConfig {
}
5.それを実行する
メインの構成ファイルをロードし、テストします。
package com.mkyong.core;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import com.mkyong.config.AppConfig;
public class App {
public static void main(String[]args) {
ApplicationContext context = new AnnotationConfigApplicationContext(
AppConfig.class);
CustomerBo customer = (CustomerBo) context.getBean("customer");
customer.printMsg("Hello 1");
SchedulerBo scheduler = (SchedulerBo) context.getBean("scheduler");
scheduler.printMsg("Hello 2");
}
}
出力
CustomerBo : Hello 1 SchedulerBo : Hello 2
ソースコードをダウンロードする
ダウンロードする – リンク://wp-content/uploads/2011/06/Spring3-JavaConfig-Import-Example.zip[Spring3-JavaConfig-Import-Example.zip](7 KB)
参考文献
-
リンク://spring3/spring-3-javaconfig-example/[Spring3 @Configuration
例]。 link://spring/load-multiple-spring-bean-configuration-file/[Spring XML
インポートの例]