在一個大項目中,我們可能有多個Spring的bean配置文件。將每個bean定義放在單個文件中很難維護(hù)。并且它們可以存儲在不同的文件夾結(jié)構(gòu)中。
例如,我們可能在common文件夾中有一個Spring-Common.xml,連接文件夾中的Spring-Connection.xml,以及ModuleA文件夾中的Spring-ModuleA.xml。
加載配置文件的一種方法是逐個加載它們。
例如,我們把所有上面的三個xml文件放在classpath中
project-classpath/Spring-Common.xml project-classpath/Spring-Connection.xml project-classpath/Spring-ModuleA.xml
然后我們可以使用下面的代碼來加載多個Spring bean配置文件。
ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"Spring-Common.xml", "Spring-Connection.xml","Spring-ModuleA.xml"});
上面的代碼將所有文件名逐個傳遞給 ClassPathXmlApplicationContext
。問題是,如果我們需要添加新的文件名,我們必須更改代碼。
Spring允許我們將所有Spring bean配置文件組織成一個XML文件。
為了托管所有配置文件,我們創(chuàng)建了一個新的Spring-All-Module.xml文件,并導(dǎo)入其他Spring 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="common/Spring-Common.xml"/> <import resource="connection/Spring-Connection.xml"/> <import resource="moduleA/Spring-ModuleA.xml"/> </beans>
將此文件放在項目類路徑下。
project-classpath/Spring-All-Module.xml
我們可以加載單個xml文件,如下所示:
ApplicationContext context = new ClassPathXmlApplicationContext("Spring-All-Module.xml");
更多建議: