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

在大型的Spring3項目中,全部的Bean配置在一個配置文件中不易管理,也不利於團隊開發,一般在開發過程當中,咱們會按照功能模塊的不一樣,或者開發人員的不一樣,將配置文件分紅多個,這樣有利於模塊的劃分。本文將講述怎樣整合多個配置文件,因爲Spring3容許使用xml配置和JavaConfig特性兩種方式配置,本文也將分別舉例。java

1、      加載多個xml文件配置

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

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

 

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

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中,就像下邊這樣,xml

 

Spring-All-Module.xmlblog

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

 

 

2、      加載多個JavaConfig特性配置

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

 

  假設有兩個JavaConfig的配置:class

  1. CustomerConfig.java
  2. SchedulerConfig.java

 

  你須要管理多個JavaConfig配置的狀況下,能夠單首創建一個AppConfig.java,而後將其餘的配置導入到AppConfig.java中,以下:import

 

AppConfig.javamodule

 
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);
相關文章
相關標籤/搜索