Spring3系列4-多個配置文件的整合


Spring3系列4-多個配置文件的整合

  在大型的Spring3項目中,所有的Bean配置在一個配置文件中不易管理,也不利於團隊開發,通常在開發過程中,我們會按照功能模塊的不同,或者開發人員的不同,將配置文件分成多個,這樣有利於模塊的划分。本文將講述怎樣整合多個配置文件,由於Spring3允許使用xml配置和JavaConfig特性兩種方式配置,本文也將分別舉例。

一、      加載多個xml文件配置

  例如,項目中有多個xml配置文件:

  1. Spring-Common.xml位於common文件夾下
  2. Spring-Connection.xml位於connection文件夾下
  3. Spring-ModuleA.xml位於moduleA文件夾下

 

  你可以在代碼中加載以上3個xml配置文件

ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"Spring-Common.xml","Spring-Connection.xml","Spring-ModuleA.xml"});

  但是這種方法不易組織並且不好維護,最好的方法是在一個單獨的xml的配置文件中組織其他所有的xml配置文件。例如,可以創建一個Spring-All-Module.xml文件,然后將其他的xml配置文件導入到Spring-All-Module.xml中,就像下邊這樣,

 

Spring-All-Module.xml

<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-3.0.xsd">

    <import resource="common/Spring-Common.xml"/>
    <import resource="connection/Spring-Connection.xml"/>
    <import resource="moduleA/Spring-ModuleA.xml"/>
</beans>

 

       現在,你可以在代碼中加載一個單獨的xml配置文件,如下:

ApplicationContext context =    new ClassPathXmlApplicationContext(Spring-All-Module.xml);

 

 

二、      加載多個JavaConfig特性配置

  JavaConfig特性配置SpringBean見前文《Spring3系列3-JavaConfig》

 

  假設有兩個JavaConfig的配置:

  1. CustomerConfig.java
  2. SchedulerConfig.java

 

  你需要管理多個JavaConfig配置的情況下,可以單獨創建一個AppConfig.java,然后將其他的配置導入到AppConfig.java中,如下:

 

AppConfig.java

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

@Configuration
@Import({ CustomerConfig.class, SchedulerConfig.class })
public class AppConfig {

}

這樣,加載時,只需要加載AppConfig.java即可

ApplicationContext context =
  new AnnotationConfigApplicationContext(AppConfig.class);

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM