码迷,mamicode.com
首页 > 移动开发 > 详细

Spring 加载xml配置文件的方式 ApplicationContext

时间:2015-08-30 00:59:30      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:spring framework

       大家都知道Java读普通文件是通过Basic I/O 中的InputStream、OutStream、Reader、Writer 等实现的。在spring 框架中,它是怎样识别xml这个配置文件的呢?

这就要靠IoC容器的两个接口BeanFactory ApplicationContext

BeanFactory (接口)

|--------XmlBeanFactory(实现类)

ApplicationContext (接口)

|-------- ClassPathXmlApplicationContext(实现类)

|---------FileSystemXmlApplicationContext(实现类)

|---------XmlWebApplicationContext(实现类)

        BeanFactory是一个接口,Spring使用它来实例化、配置和管理对象,它里面有一个getBean()方法,只提供了spring最基础的特征,一般使用在低内存的情况下,如Applet。一般的spring项目用它的派生类ApplicationContext,这个类会自动解析我们配置的xml文件,然后根据配置的bean来new对象,将new好的对象放进一个Map中,键是bean的id,值就是new的对象。


1. 编译路径ClassPathXmlApplicationContext来加载xml文件(我们入门篇中的例子http://blog.csdn.net/shymi1991/article/details/48085955 )

这种方式xml文件必须在项目的build path里面,一般用classpath:作为前缀,也可以省略

1)/src目录下

ApplicationContext factory=new ClassPathXmlApplicationContext("classpath:appcontext.xml");
ApplicationContext factory=new ClassPathXmlApplicationContext("appcontext.xml");

2)/ src/conf 目录下的
ApplicationContext factory=new ClassPathXmlApplicationContext("conf/appcontext.xml");


3)同时加载多个xml文件

ApplicationContext factory=new ClassPathXmlApplicationContext(new String[] {"bean1.xml","bean2.xml"});


2.文件系统的路径

xml文件的绝对路径,一般用file:作为前缀,也可以省略

ApplicationContext factory=new FileSystemXmlApplicationContext("file:G:/Test/src/appcontext.xml");
ApplicationContext factory=new FileSystemXmlApplicationContext("G:/Test/src/appcontext.xml");


3. XmlWebApplicationContext是专为Web工程定制的

ServletContext servletContext = request.getSession().getServletContext();
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext );




版权声明:本文为博主原创文章,未经博主允许不得转载。

Spring 加载xml配置文件的方式 ApplicationContext

标签:spring framework

原文地址:http://blog.csdn.net/shymi1991/article/details/48094159

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!