微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ApplicationContext详解以及多个ApplicationContext.xml的相互引用

如果说beanfactoryspring的心脏,那么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>

原文地址:https://www.jb51.cc/xml/293295.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。