Spring bean加載多個配置文件

在一個大的項目結構,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

<import resource="common/Spring-Common.xml"/>
    <import resource="connection/Spring-Connection.xml"/>
    <import resource="moduleA/Spring-ModuleA.xml"/>

現在,可以加載一個這樣的 XML 文件:

ApplicationContext context =
new ClassPathXmlApplicationContext(Spring-All-Module.xml);

將這個文件放入項目的類路徑。

project-classpath/Spring-All-Module.xml

注意
在Spring3,所述替代解決方案是使用 JavaConfig @Import.