一、拆分策略
- 如果一个开发人员负责一个模块,我们采用公用配置(包括数据源、事务等)+每个系统模块一个单独配置文件(包括Dao、Service、Web控制器)的形式
- 如果是按照分层进行的分工,我们采用公用配置(包括数据源、事务等)+DAO Bean配置+业务逻辑Bean配置+Web控制器配置的形式
二、拆分方法
如果有多个配置文件需要载入,可以分别传入多个配置文件名,或以String[]方式传入多个配置文件名。或者还可以采用通配符(*)来加载多个具有一定命名规则的配置文件。如下
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml", "applicationContext-dao.xml", "applicationContext-jdbc.xml");
String[] configs = {"applicationContext.xml", "applicationContext-dao.xml", "applicationContext-service.xml"}; ApplicationContext ctx = new ClassPathXmlApplicationContext(configs);
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext*.xml");
建议通过通配符(*)的方式配置多个Spring配置文件,建议在给Spring配置文件命名时遵循一定的规律
此外,Spring配置文件本身也可以通过<beans>标签下的import子元素导入其他配置文件,将多个配置文件整合到一起,形成一个完整的Spring配置文件
<?xml version="1.0" encoding="UTF-8"?> <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="classpath:applicationContext-dao.xml"/> <import resource="classpath:applicationContext-service.xml"/> </beans>