天天看点

Spring多个XML配置文件的引用

前言

​ 当团队开发的时候,如果都使用同一个xml配置文件类进行对Spring的操作,那么就有可能导致一些问题,比如误改,误删等,并且当我们的配置量增多的时候,一个xml配置文件就显得臃肿;所以我们可以进行模块划分,一个模块对应一个配置文件,最后将所有配置文件整合到主配置文件中。

使用格式说明

  • <import/>

    标签
  • 作用在当前配置文件中导入其他配置文件
  • 格式

    <import resource= “config.xml"/>

    resource:要导入的配置文件名

使用实例

  • User.java
    public class User {
    
        private String name;
        private int age;
    
        public void print() {
            System.out.println("name:" + name + "---------" + "age:" + age);
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    }
               
  • 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
            https://www.springframework.org/schema/beans/spring-beans.xsd">
    
        <!--
    		import标签:引入其他配置文件
    		classpath:表示从类路径去找从配置文件
    	-->
        <import resource="classpath:applicationContext-user.xml"/>
    </beans>
               
  • applicationContext-user.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
            https://www.springframework.org/schema/beans/spring-beans.xsd">
    
        <!--配置User-->
        <bean id="user" class="com.itheima.entity.User">
            <property name="name" value="不知火舞"/>
            <property name="age" value="20"/>
        </bean>
    </beans>
               
  • 测试类
    public class SpringTest {
        public static void main(String[] args) {
            //创建Spring容器
            ApplicationContext context = new ClassPathXmlApplicationContext(
                    "applicationContext.xml");
            //获取bean
            User user = (User) context.getBean("user");
            //调用方法
            user.print();
        }
    }
               
  • 结果
    Spring多个XML配置文件的引用

Tips:加载多个配置文件

​ 如果有多个配置文件时,不用主从的整合方法,也可以使用创建Spring容器的时候,加载多个配置文件的方法。

  • 代码
    ApplicationContext context = new ClassPathXmlApplicationContext(
                    "applicationContext.xml", "applicationContext-user.xml");