在项目开发的过程中,往往有多个开发人员共同完成一个业务功能,而每个开发人员都拥有属于自己的配置文件applicationContext.xml,于是需要把这些配置文件整合起来,实现项目业务功能,分模块配置就是解决多人开发的协同问题。
主要有以下两种方式进行配置
- 在加载时添加多个配置文件名称
- 配置文件
开发人员张三的配置文件applicationContext.xml
<?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.xsd">
<!--
id:为自己起的名称
class:为类的全路径
init-method:对象创建时调用的初始化方法
destory-method:对象销毁时调用的销毁方法
scope:bean的作用范围,默认为singleton
-->
<!--开发人员张三的配置文件-->
<bean id="userDao" class="com.ph.demo1.UserDaoOrcleImpl"
init-method="initMethod" destroy-method="destoryMethod"
factory-method="create"/>
</beans>
开发人员李四的配置文件applicationContext1.xml
<?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.xsd">
<!--开发人员李四的配置文件-->
<bean id="userDao1" class="com.ph.demo1.UserDaoMysqlImpl"/>
</beans>
- 编写接口类
public interface UserDao {
public void save();
public void delete();
}
- 编写实现类UserDaoOrcleImpl
public class UserDaoOrcleImpl implements UserDao {
public UserDaoOrcleImpl(){
System.out.println("执行无参构造方法");
}
public static UserDaoOrcleImpl create(){
System.out.println("执行了create方法");
return new UserDaoOrcleImpl();
}
@Override
public void save() {
System.out.println("orcle-save");
}
@Override
public void delete() {
System.out.println("orcle-delete");
}
public void initMethod() {
System.out.println("执行初始化方法");
}
public void destoryMethod() {
System.out.println("执行销毁方法");
}
}
- 编写实现类UserDaoMysqlImpl
public class UserDaoMysqlImpl implements UserDao{
private String name;
public void setName(String name) {
this.name = name;
}
@Override
public void save() {
System.out.println("mysql-save"+name);
}
@Override
public void delete() {
System.out.println("mysql-delete");
}
}
- 编写测试类
public class test {
public static void main(String[] args){
ApplicationContext applicationContext= new ClassPathXmlApplicationContext("applicationContext.xml","applicationContext1.xml");
UserDao userDao = (UserDao)applicationContext.getBean("userDao");
userDao.save();
UserDao userDao1 = (UserDao)applicationContext.getBean("userDao1");
userDao1.delete();
}
}
运行结果

- 在一个配置文件中引入另一个配置文件
直接在张三的配置文件中引入李四的配置文件,在加载配置文件的时候只需要加载张三的配置文件即可
1、配置文件
<?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.xsd">
<!--
id:为自己起的名称
class:为类的全路径
init-method:对象创建时调用的初始化方法
destory-method:对象销毁时调用的销毁方法
scope:bean的作用范围,默认为singleton
-->
<!--开发人员张三的配置文件-->
<bean id="userDao" class="com.ph.demo1.UserDaoOrcleImpl"
init-method="initMethod" destroy-method="destoryMethod"
factory-method="create"/>
<!--引入开发人员李四的配置文件-->
<import resource="applicationContext1.xml"/>
</beans>
2、测试类
public class test {
public static void main(String[] args){
ApplicationContext applicationContext= new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao = (UserDao)applicationContext.getBean("userDao");
userDao.save();
UserDao userDao1 = (UserDao)applicationContext.getBean("userDao1");
userDao1.delete();
}
}
运行结果

综上所述,两种方式都可以实现分模块配置,而且效果也是相同的。在日常开发工作中,我们更多的是使用第二种方式,写一个共用的配置文件,然后在这个共用的配置文件中引入不同开发人员的配置文件,达到整合的目的。
本文介绍了在多人开发项目中如何进行Spring的分模块配置,以解决协同开发的问题。主要探讨了两种配置方式:1) 加载时添加多个配置文件名称;2) 在一个配置文件中引入其他配置文件。在实际开发中,更常见的是通过共用配置文件引入各开发人员的个性化配置,以实现配置的整合。
1114

被折叠的 条评论
为什么被折叠?



