spring教程

本文深入探讨了Spring框架中加载XML配置文件的方法,包括三种方式:XmlBeanFactory、ClassPathXmlApplicationContext、FileSystemXmlApplicationContext,并介绍了如何在Web工程中使用XmlWebApplicationContext。同时,文章还讲解了如何配置多个XML配置文件。
spring 中加载xml配置文件的方式
点击: 发布日期:2007-6-14 12:39:00 进入论坛


spring 中加载xml配置文件的方式,好像有3种, xml是最常见的spring 应用系统配置源。Spring中的几种容器都支持使用xml装配bean,包括:
XmlBeanFactory ,
ClassPathXmlApplicationContext ,
FileSystemXmlApplicationContext ,
XmlWebApplicationContext

一:XmlBeanFactory 引用资源
Resource resource = new ClassPathResource("appcontext.xml");
BeanFactory factory = new XmlBeanFactory(resource);
二:ClassPathXmlApplicationContext 编译路径
ApplicationContext factory=new ClassPathXmlApplicationContext("classpath:appcontext.xml");
ApplicationContext factory=new ClassPathXmlApplicationContext("appcontext.xml"); // src目录下的
ApplicationContext factory=new ClassPathXmlApplicationContext("conf/appcontext.xml"); // src/conf 目录下的
ApplicationContext factory=new ClassPathXmlApplicationContext("file:G:/Test/src/appcontext.xml");
三 : 用文件系统的路径
ApplicationContext factory=new FileSystemXmlApplicationContext("src/appcontext.xml");
//使用了 classpath: 前缀,作为标志, 这样,FileSystemXmlApplicationContext 也能够读入classpath下的相对路径
ApplicationContext factory=new FileSystemXmlApplicationContext("classpath:appcontext.xml");
ApplicationContext factory=new FileSystemXmlApplicationContext("file:G:/Test/src/appcontext.xml");
ApplicationContext factory=new FileSystemXmlApplicationContext("G:/Test/src/appcontext.xml");

四: XmlWebApplicationContext 是专为Web工程定制的。
ServletContext servletContext = request.getSession().getServletContext();
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext );

本文来自: 中国自学编程网(www.zxbc.cn) 详细出处参考:http://www.zxbc.cn/html/20070614/22999.html


Spring配置文件是集成了Spring框架的项目的核心,引擎从哪里开始,中间都执行了哪些操作,小谈一下它的执行流程。

容器先是加载web.xml



接着是applicationContext.xml在web.xml里的注册



一种方法是加入ContextLoaderServlet这个servlet





1 <context-param>
2 <param-name>contextConfigLocation</param-name>
3 <param-value>/WEB-INF/applicationContext.xml</param-value>
4 </context-param>
5 <servlet>
6 <servlet-name>context</servlet-name>
7 <servlet-class>
8 org.springframework.web.context.ContextLoaderServlet
9 </servlet-class>
10 <load-on-startup>0</load-on-startup>
11 </servlet>
复制代码


还有一种是添加ContextLoaderListener这个监听器



1 <context-param>
2 <param-name>contextConfigLocation</param-name>
3 <param-value>/WEB-INF/applicationContext.xml</param-value>
4 </context-param>
5
6 <listener>
7 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
8 </listener>
复制代码


ContextLoaderServlet和ContextLoaderListener都是先创建ContextLoader的一个对象,然后调用它的initWebApplicationContex方法初始化WebApplicationContext获得一个对象;



spring加载多个配置文件,在web.xml中



1 <context-param>
2 <param-name>contextConfigLocation</param-name>
3 <param-value>classpath*:spring/*.xml</param-value>
4 </context-param>
5
6 <servlet>
7 <servlet-name>SpringContextServlet</servlet-name>
8 <servlet-class>
9 org.springframework.web.context.ContextLoaderServlet
10 </servlet-class>
11 <load-on-startup>3</load-on-startup>
12 </servlet>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值