天天看點

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");