在大型的Spring3項目中,全部的Bean配置在一個配置文件中不易管理,也不利於團隊開發,一般在開發過程當中,咱們會按照功能模塊的不一樣,或者開發人員的不一樣,將配置文件分紅多個,這樣有利於模塊的劃分。本文將講述怎樣整合多個配置文件,因爲Spring3容許使用xml配置和JavaConfig特性兩種方式配置,本文也將分別舉例。java
例如,項目中有多個xml配置文件:spring
你能夠在代碼中加載以上3個xml配置文件code
ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"Spring-Common.xml","Spring-Connection.xml","Spring-ModuleA.xml"});
可是這種方法不易組織而且很差維護,最好的方法是在一個單獨的xml的配置文件中組織其餘全部的xml配置文件。例如,能夠建立一個Spring-All-Module.xml文件,而後將其餘的xml配置文件導入到Spring-All-Module.xml中,就像下邊這樣,xml
Spring-All-Module.xmlblog
<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-3.0.xsd"> <import resource="common/Spring-Common.xml"/> <import resource="connection/Spring-Connection.xml"/> <import resource="moduleA/Spring-ModuleA.xml"/> </beans>
如今,你能夠在代碼中加載一個單獨的xml配置文件,以下:開發
ApplicationContext context = new ClassPathXmlApplicationContext(Spring-All-Module.xml);
JavaConfig特性配置SpringBean見前文《Spring3系列3-JavaConfig》io
假設有兩個JavaConfig的配置:class
你須要管理多個JavaConfig配置的狀況下,能夠單首創建一個AppConfig.java,而後將其餘的配置導入到AppConfig.java中,以下:import
AppConfig.javamodule
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @Configuration @Import({ CustomerConfig.class, SchedulerConfig.class }) public class AppConfig { }
這樣,加載時,只須要加載AppConfig.java便可
ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);