一般來說, 需要按模組或類別 分割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.zaixian.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. Spring Beans
兩個簡單的Spring bean。
File : CustomerBo.java
package com.zaixian.core; public class CustomerBo { public void printMsg(String msg) { System.out.println("CustomerBo : " + msg); } }
File : SchedulerBo.java
package com.zaixian.core; public class SchedulerBo { public void printMsg(String msg) { System.out.println("SchedulerBo : " + msg); } }
3. @Configuration示例
現在,使用JavaConfig @Configuration聲明上述Bean類。
File : CustomerConfig.java
package com.zaixian.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.zaixian.core.CustomerBo; @Configuration public class CustomerConfig { @Bean(name="customer") public CustomerBo customerBo(){ return new CustomerBo(); } }
File : SchedulerConfig.java
package com.zaixian.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.zaixian.core.SchedulerBo; @Configuration public class SchedulerConfig { @Bean(name="scheduler") public SchedulerBo suchedulerBo(){ return new SchedulerBo(); } }
4. @Import示例
使用@Import加載多個配置檔。
File : AppConfig.java
package com.zaixian.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.zaixian.core; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import com.zaixian.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 11"); SchedulerBo scheduler = (SchedulerBo) context.getBean("scheduler"); scheduler.printMsg("Hello 22"); } }
輸出結果
CustomerBo : Hello 11 SchedulerBo : Hello 22
上一篇:
Spring JavaConfig實例
下一篇:
Spring依賴注入(DI)