Spring 3 JavaConfig @Importの例
通常、split a large Spring XML bean filesを複数の小さなファイルに分割し、モジュールまたはカテゴリごとにグループ化して、保守性とモジュール性を高めます。 例えば、
Spring3 JavaConfigでは、同等の機能は@Importです。
package com.example.config; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @Configuration @Import({ CustomerConfig.class, SchedulerConfig.class }) public class AppConfig { }
@Importの例
JavaConfig@Importの使用例をご覧ください。
1. ディレクトリ構造
この例のディレクトリ構造。
2. 春豆
2つの単純なSpring Bean。
ファイル:CustomerBo.java
package com.example.core; public class CustomerBo { public void printMsg(String msg) { System.out.println("CustomerBo : " + msg); } }
ファイル:SchedulerBo.java
package com.example.core; public class SchedulerBo { public void printMsg(String msg) { System.out.println("SchedulerBo : " + msg); } }
3. @構成の例
ここで、JavaConfig@Configurationを使用して上記のBeanを宣言します。
ファイル:CustomerConfig.java
package com.example.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.example.core.CustomerBo; @Configuration public class CustomerConfig { @Bean(name="customer") public CustomerBo customerBo(){ return new CustomerBo(); } }
ファイル:SchedulerConfig.java
package com.example.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.example.core.SchedulerBo; @Configuration public class SchedulerConfig { @Bean(name="scheduler") public SchedulerBo suchedulerBo(){ return new SchedulerBo(); } }
4. @Importの例
@Importを使用して、複数の構成ファイルをロードします。
ファイル:AppConfig.java
package com.example.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.example.core; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import com.example.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
ソースコードをダウンロード
ダウンロード–Spring3-JavaConfig-Import-Example.zip(7 KB)