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