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");
以上内容是否对您有帮助:
更多建议: