ApplicationContext详解以及多个ApplicationContext.xml的相互引用
如果说BeanFactory是spring的心脏,那么Application就是完整的身躯。ApplicationContext就是由BeanFactory派生出来的。
一、ApplicationContext类
ApplicationContext的主要实现类是ClassPathXmlApplicationContext和FileSystemXmlApplicationContext,前者默认从类路径加载配置 文件,后者默认 从文件系统加载文件。
1)如果配置文件放在类路径下,直接使用ClassPathXmlApplicationContext实现类:
ApplicationContext ctx=new ClassPathXmlApplicationContext("com/techman/context/beans.xml");
这里的参数等同于:"classpath:com/techman/context/beans.xml"
2)如果配置文件在文件系统的路径下,则可以优先考虑使用FileSystemXmlApplicationContext实现类:
ApplicationContext ctx=new FileSystemXmlApplicationContext("com/techman/context/beans.xml");
这里的参数等同于:"file:com/techman/context/beans.xml".
3)如果有多个配置文件,获取ApplicationContext对象时还可以指定一组配置文件,Spring自动将多个配置文件在内存中整合成一个配置文件:
ApplicationContext ctx=new ClassPathXmlApplicationContext(new String[]{"conf/bean1.xml","conf/bean2.xml"});
或者ApplicationContext ctx=new ClassPathXmlApplicationContext("conf/bean*.xml");
二、如何配置多个applicationContext.xml?
即,在启动容器的时候如何引入多个applicationContext.xml?
在web.xml中将applicationContext.xml作为当前web应用的初始化参数,多个applicationContext.xml用逗号隔开,也可以使用
例如:
或者
三、一个applicationContext.xml文件如何引用另一个applicationContext.xml文件中的bean?
在需要引用其它applicationContext.xml文件的applicationContext.xml文件中的<beans></beans>标记之间引入别人的
applicationContext.xml,格式如下:
<beans>
<import resource="applicationContext-hibernate.xml"/>
</beans>
(其中,<inport> 相当于Java中的导包)
需要注意的是:
<import resource="applicationContext-hibernatee.xml"/>这一句要放在所有bean配置的最前面。
四、如何引用别人已经配置好了的bean呢?
例如,将另外一个人配置的commonDAO注入给自己的biz中:配置如下:
<bean id="cstServiceBiz" class="org.jb.t0821c.biz.CstServiceBiz">
<property name="commonDAO">
<ref bean="commonDAO"/>
</property>
</bean>
ApplicationContext详解以及多个ApplicationContext.xml的相互引用的更多相关文章
- Spring官网阅读(十二)ApplicationContext详解(中)
文章目录 1.Spring的资源(Resource) 接口简介 UML类图 抽象基类AbstractResource FileSystemResource AbstractFileResolvingR ...
- Spring官网阅读(十三)ApplicationContext详解(下)
文章目录 BeanFactory 接口定义 继承关系 接口功能 1.HierarchicalBeanFactory 2.ListableBeanFactory 3.AutowireCapableBea ...
- XML详解:第三部分 XML解析
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 详解Struts1中的struts-config.xml配置文件【一】
搞清楚struts-config.xml中各项元素的作用,对于我们构建web项目有莫大的好处.<struts-config>是struts的根元素,它主要有8个子元素,DTD定义如下: & ...
- WebView使用详解(一)——Native与JS相互调用(附JadX反编译)
念念不忘,必有回响,永远坚持你所坚持的! 一直在用WebView,还没有系统的总结过它的用法,下面就系统的总结下,分享给大家 一.基本用法 1.加载在线URL void loadUrl(String ...
- 详解c++指针的指针和指针的引用
展示一下使用指针的指针和指针的引用修改传递给方法的指针,以便更好的使用它.(这里说的指针的指针不是一个二维数组) 为什么需要使用它们 当我们把一个指针做为参数传一个方法时,其实是把指针的复本传递给了方 ...
- 开源PLM软件Aras详解七 在Aras的Method中如何引用外部DLL
在实际的项目中,Aras内部的方法可能并不能完全满足我们,比如Office的组件,就必须引入,那么在Aras内部的Method中,我们如何引入外部Dll文件 首先,我们新建一个Dll文件,简单的Dem ...
- 详解c++指针的指针和指针的引用(转)
http://www.cnblogs.com/li-peng/p/4116349.html
- 堆栈详解 + 彻底理解Java的值传递和引用传递
本文旨在用最通俗的语言讲述最枯燥的基本知识 学过Java基础的人都知道:值传递和引用传递是初次接触Java时的一个难点,有时候记得了语法却记不得怎么实际运用,有时候会的了运用却解释不出原理,而且坊间讨 ...
随机推荐
- YOLOv2-darknet 内容解析
目录 YOLOv2-darknet 内容解析 1. 改进之处 2. Better 3. Faster 4. Stronger 5. 总结 reference YOLOv2-darknet 内容解析 1 ...
- Linux下通过命令行mail发送e-mail
找到配置文件/etc/mail.rc添加如下行 # vi /etc/mail.rc set from=@qq.com set smtp=smtp.qq.com set smtp-auth-user= ...
- 非[无]root权限 服务器 下安装perl以及perl模块--转载
转载自http://www.zilhua.com 在本博客中,所有的软件安装都在服务器上,且无root权限.理论上适合所有的用户. 我的安装目录 cd /home/zilhua/software 1. ...
- vue router菜单 存在点哪个但还是会显示active
<router-link to="/" exact>Home</router-link> <router-link to="/add&quo ...
- -bash: brew: command not found
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ...
- 棋盘覆盖问题(算法分析)(Java版)
1.问题描述: 在一个2k×2k个方格组成的棋盘中,若有一个方格与其他方格不同,则称该方格为一特殊方格,且称该棋盘为一个特殊棋盘.显然特殊方格在棋盘上出现的位置有种情形.因而对任何 k≥0,有4k种不 ...
- 开关灯问题 BulbSwitch
2018-06-17 11:54:51 开关电灯问题是一个比较经典的趣味数学题,本文中主要介绍其中的一些常见情况. 一.Bulb Switch 问题描述: 问题求解: 初始状态:off, off, o ...
- 移动开发基础和Dalvik VM
移动开发基础和Dalvik VM 1.基础 移动开发:是指以PDA.UMPC等便携终端为基础进行的开发工作. PDA:Person Digital Assistant 个人数码助理 UMPC:Ultr ...
- 解决Word 2013, Word 2016的保存太慢的问题
尝试下面步骤: 方法 一:文件〉选项〉高级〉,保存,关闭“允许后台保存”选项. 提示:禁止该项功能可能存在风险, 请及时保存文件. 方法二:禁用 Office 中的硬件加速 1.启动任一 Offic ...
- jsp / get 中文乱码问题
POST 方式下的解决方式还算简单,因为POST 方式下提交的数据都是以二进制的方式附加在http请求的body部分发送,只需要在后台指定编码格式就足矣解决. GET 方式下会将参数直接附加到url ...