在一個大的專案結構,Spring bean組態檔案位於不同的檔案夾以便於維護和模組化。例如,Spring-Common.xml在common 檔案夾中,Spring-Connection.xml 在connection檔案夾,Spring-ModuleA.xml在ModuleA 檔案夾等等。
你可以載入多個Spring bean的組態檔案如下程式碼中:
ApplicationContext context =
new ClassPathXmlApplicationContext(new String[] {"Spring-Common.xml",
"Spring-Connection.xml","Spring-ModuleA.xml"});
把所有的 Spring XML 檔案放入在專案類路徑中。
project-classpath/Spring-Common.xml
project-classpath/Spring-Connection.xml
project-classpath/Spring-ModuleA.xml
解決方法
以上方法是缺乏組織並且很容易出錯,更好的辦法應組織所有的Spring bean 組態檔案到一個XML檔案。例如,建立一個Spring-All-Module.xml檔案,並匯入整個Spring bean的檔案如下:
File : Spring-All-Module.xml
<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>
現在,可以載入一個這樣的 XML 檔案:
ApplicationContext context =
new ClassPathXmlApplicationContext(Spring-All-Module.xml);
將這個檔案放入專案的類路徑。
project-classpath/Spring-All-Module.xml