Spring教程 - 弹簧多个配置文件

2018-01-09 19:06 更新

Spring教程 - 弹簧多个配置文件


在一个大项目中,我们可能有多个Spring的bean配置文件。将每个bean定义放在单个文件中很难维护。并且它们可以存储在不同的文件夹结构中。

例如,我们可能在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 。问题是,如果我们需要添加新的文件名,我们必须更改代码。



导入xml文件

Spring允许我们将所有Spring bean配置文件组织成一个XML文件。

为了托管所有配置文件,我们创建了一个新的Spring-All-Module.xml文件,并导入其他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");


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号