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. Весенние бобы
Две простые весенние бобы.
Файл: 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. Пример @Configuration
Теперь используйте 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 КБ)