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 КБ)