对于大多数的应用,从表现层的action,到持久层的DataSource,都被Spring 作为
bean 管理。如果这些bean 被配置在同一个文件中,阅读及维护该配置文件将是一件非
常有挑战的事情。
因此, Spring 建议:将一个大的配置文件分解成多个小的配置文件,使每个配置文
件仅仅管理功能近似于bean; 这样不仅可以分散配置文件,降低修改配置文件的风险,
而且更符合"分而治之"的软件工程原理。
多个配置文件最终需要汇总, ApplicationContext提供如下方式来汇总多个配置文件:
.使用App1icationContext 加载多个配置文件。
• Web 应用启动时加载多个配置文件。
• XML 配置文件中导入其他配置。

1 ApplicationContext 加载多个配置文件
ApplicatonContext 的常用实现类有如下两个:
• ClassPathXm1 ApplicationContext 。
• FileSystemXm1ApplicationContext 。
这两个类都可以用来加载多个配置文件,它们的构造器都可以接收一个数组,并在
该数组中存放多个配置文件。ClassPathXm1ApplicationContext 可采用如下代码加载多个
配置文件:
/I创建配置文件数组
/I假设有3 个配置文件: a.xml , b.xml , c.xml
Str工ng[) configLocations = {"a.xml" , "b.xml" , "c.xml"}
以配置文件数组为参数,创建ApplicationContext
ApplicationContext ctx = new ClassPathXmlApplicationContext(configLocations);
与采用FileSystemXm1ApplicationContext创建ApplicationContext的方式相似,区别
仅在于二者搜索配置文件的路径不同:ClassPathXm1ApplicationContext通过CLASSPATH
路径搜索配置文件:而FileSystemXm1ApplicationContext则在当前路径搜索配置文件。
2 Web 应用启动时加载多个配置文件
参看5.12.3 节所述,通过ContextLoaderListener 也可加载多个配置文件,可利用
337
轻量级J2EE 企业应用实战一一-Struts+Spring+Hibernate 整合开发
<context-pararn>元素来指定多个配置文件位置,其配置如下:
<l-- 确定配置文件的位置一〉
<context-param>
<param-name>contextConfigLocation</param-name>
<1-- 此处可以列出多个Spring 的XML 配置文件>
<param-value>/WEB-INF/daoContext.xml IWEB-INF/applicationContext.xml<1
param-value>
<context-param>
3 XML 配置文件中导人其他配置文件
配置文件本身和其子元素import. 可用于导入其他配置文件。具体的配置示例如下:
<?xml version="1.0" encod工口g="gb2312"?>
<!一指定Spring 配置文件的dtd>
<!DOCTYPE beans PUBLIC "-IISPR工NGIIDTD BEANIIEN"
''http://www.springframework.org/dtd/spring-beans.dtd''>
<!-- Spring 配置文件的根元素->
<beans>
<!一导入第→份配置文件: serv工ces.xml一〉
<import resource="serv工ces.xml"l>
<!-- 导入第二份配置文件: resources/messageSource.xml 一〉
<import resource="resources/messageSource.xml"l>
<!-- 导入第二份配置文件: resourcesl themeSource.xml -->
<import resource="/resources/themeSource.xml"l>
<!-- 下面定义该文件垦的其他bean…〉
<bean id="beanl" class=". .."1>
<bean id="bea口2" class="..."I>
</beans>

Spring加载多个配置文件相关推荐

  1. java配置文件实现方式_java相关:详解Spring加载Properties配置文件的四种方式

    java相关:详解Spring加载Properties配置文件的四种方式 发布于 2020-4-29| 复制链接 摘记: 一.通过 context:property-placeholder 标签实现配 ...

  2. spring加载jar包中多个配置文件(转)

    转自:http://evan0625.iteye.com/blog/1598366 在使用spring加载jar包中的配置文件时,不支持通配符,需要一个一个引入,如下所示: Java代码 <co ...

  3. Spring加载properties文件的两种方式

    2019独角兽企业重金招聘Python工程师标准>>> 在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取pro ...

  4. 配置文件加载优先级和外部配置文件加载||IDEA外部配置文件无法加载

    1,项目内部配置文件 spring boot 启动会扫描以下位置的 application.properties 或者 application.yml 文件作为 Spring boot 的默认配置文件 ...

  5. Spring加载流程源码

    一.从AbstractApplicationContext的体系说起 第一,从类结构设计上看, 围绕着是否需要Refresh容器衍生出两个抽象类: GenericApplicationContext: ...

  6. Spring 加载、解析applicationContext.xml 流程

    概要 Spring 框架使用了BeanFactory 进行加载 xml 和生成 bean 实例.下面我们分析下Spring加载xml文件的过程. spring 版本是最新的 4.3.9 release ...

  7. spring加载ApplicationContext.xml的四种方式

    spring加载ApplicationContext.xml的四种方式 spring 中加载xml配置文件的方式,好像有4种, xml是最常见的spring 应用系统配置源.Spring中的几种容器都 ...

  8. spring加载xsd文件

    本文原文连接: http://blog.csdn.net/bluishglc/article/details/7596118 ,转载请注明出处! 有时候你会发现过去一直启动正常的系统,某天启动时会报出 ...

  9. 关于spring加载(下载)xsd文件失败的问题。

    一,前言 最近在开发的过程中,遇到了一个奇怪的问题,项目启启停停了几次之后,突然就跑不起来了.主要的报错信息如下: 1.Ignored XML validation warning schema_re ...

最新文章

  1. 我与前端之间不得不说的三天两夜之javaScript
  2. 整理Java基础知识--输出格式知识
  3. Hadoop源码阅读-HDFS-day2
  4. 5种改善服务器日志记录的技术
  5. JavaScript 常用内置对象(字符串属性、Math对象、Array数组对象)
  6. IDEA自动勾选显示类型(specify type)
  7. Ajax补充之serialize
  8. mysql 主主+keepalive
  9. 超多的CSS3圆角渐变网页按钮
  10. Struts结合梅花雪实现动态生成树
  11. python对于设计师有什么用-《学习PYTHON—做个有编程能力的设计师》
  12. POJ1753-Flip Game
  13. PHP服务缓存加速软件
  14. arping工具使用
  15. 尝试手写一个框架(二)手写一个MVC的框架
  16. 刺激战场灵敏度怎么调压枪最稳:花了4个小时调的灵敏度,适合所有段位
  17. [DA45] 时间序列预测上证指数
  18. 在c语言中pwm的作用,详细注解的PWM c程序初学者适用
  19. 【TS】1552- 浅谈TS运行时类型检查
  20. 一些好用的APP分享

热门文章

  1. 软件测试年终总结报告模板
  2. 机动车 科目一 之 标识标志(指示标志 [蓝色])
  3. ELO kernels 记录
  4. sublime text 删除安装的插件
  5. ps -ef|grep tomcat是啥意思呢?(☆)
  6. java识别中文_Java 完美判断中文字符的方法
  7. web安全最亲密的战友Burp Suite—网络攻防常用工具介绍--burp suit工具初体验一
  8. android 实例-个人理财工具,Android 个人理财工具六:显示账单明细 下
  9. KMP算法——俗称看毛片算法
  10. 学而不思则罔,学而不思则殆-年终总结