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
インポートの例]