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)