博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring3系列4-多个配置文件的整合
阅读量:7029 次
发布时间:2019-06-28

本文共 1341 字,大约阅读时间需要 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

 

       现在,你可以在代码中加载一个单独的xml配置文件,如下:

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

 

 

二、      加载多个JavaConfig特性配置

  JavaConfig特性配置SpringBean见前文

 

  假设有两个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);

 

 

 

转载地址:http://zbrxl.baihongyu.com/

你可能感兴趣的文章
通过Zookeeper动态感知服务器上下线[案例]
查看>>
史上最全的MonkeyRunner自动化测试从入门到精通(3)
查看>>
Android项目实战(三):实现第一次进入软件的引导页
查看>>
Web Service基础——基础概念
查看>>
Linux2.4文件系统中vfsmount、安装点的dentry、设备的dentry之间的关系【转】
查看>>
Hierarchical Question-Image Co-Attention for Visual Question Answering
查看>>
jd-eclipse反编译插件的在线安装和使用
查看>>
非法吸收公众存款罪的6大无罪辩点(根据无罪判例提炼)
查看>>
面试笔试整理3:深度学习机器学习面试问题准备(必会)
查看>>
HBase数据库-伪-完全分布式搭建
查看>>
linux常用命令【原创】
查看>>
Plugin 'Lombok Plugin' is incompatible with this installation
查看>>
Linux awk sort
查看>>
我国法定报告的传染病分为几类?包括哪些传染病?
查看>>
解决Linux上解压jdk报错gzip: stdin: not in gzip format
查看>>
vue.js开发SPA常见问题及解决方法
查看>>
yarn workspaces基本试用
查看>>
Laravel5重定向函数redirect()的5个应用
查看>>
开启MySQL远程访问权限 允许远程连接
查看>>
insert into 语句的三种写法
查看>>