FileSystemXmlApplicationContext、ClassPathXmlApplicationContext和XmlWebApplicationContext简介

引用:http://blog.csdn.net/souichiro/article/details/6068552

今天在用Spring时遇到一个问题,提示找不到applicationContext.xml文件。原来是在加载这个文件时调用的方法不太合适,所以造成了程序找不到项目下的xml配置文件。

我们常用的加载context文件的方法有如下三个:

1、FileSystemXmlApplicationContext

这个方法是从文件绝对路径加载配置文件,例如:

ApplicationContext ctx = new FileSystemXmlApplicationContext( "G:/Test/applicationcontext.xml ");

如果在参数中写的不是绝对路径,那么方法调用的时候也会默认用绝对路径来找,我测试的时候发现默认的绝对路径是eclipse所在的路径。

采用绝对路径的话,程序的灵活性就很差了,所以这个方法一般不推荐。

(如果要使用classpath路径,需要加入前缀classpath:   )

2、ClassPathXmlApplicationContext

这个方法是从classpath下加载配置文件(适合于相对路径方式加载),例如:

ApplicationContext ctx = new ClassPathXmlApplicationContext( "/applicationcontext.xml ");

该方法参数中classpath: 前缀是不需要的,默认就是指项目的classpath路径下面;这也就是说用ClassPathXmlApplicationContext时默认的根目录是在WEB-INF/classes下面,而不是项目根目录。这个需要注意!

3、XmlWebApplicationContext

专为web工程定制的方法,推荐Web项目中使用。例如:

ServletContext servletContext = request.getSession().getServletContext();

ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);

时间: 2024-10-29 07:23:27

FileSystemXmlApplicationContext、ClassPathXmlApplicationContext和XmlWebApplicationContext简介的相关文章

[转] FileSystemXmlApplicationContext、ClassPathXmlApplicationContext和XmlWebApplicationContext简介

今天在用Spring时遇到一个问题,提示找不到applicationContext.xml文件.原来是在加载这个文件时调用的方法不太合适,所以造成了程序找不到项目下的xml配置文件. 我们常用的加载context文件的方法有如下三个: 1.FileSystemXmlApplicationContext 这个方法是从文件绝对路径加载配置文件,例如: ApplicationContext ctx = new FileSystemXmlApplicationContext( "G:/Test/appl

Beanfactory与ApplicationContext

Spring提供了容器实现的两种方式: Bean工厂(BeanFactory接口),提供了基础的依赖注入支持: 应用上下文(ApplicationContext接口),建立在Bean工厂基础之上,提供了系统架构服务. 现阶段,企业开发在选择上更加倾向于ApplicationContext接口,因为ApplicationContext接口涵盖了BeanFactory接口,如果使用一个普通的BeanFactory接口,很多其他的功能将不会起作用,如Spring的事物transcation和AOP都不

Spring技术内幕——Spring Framework的IOC容器实现(二)

三.IOC容器的初始化过程 IOC容器的初始化时由前面介绍的refresh方法来启动的,这个方法标志着IOC容器的正式启动.这个启动包括BeanDefinition的Resource定位.载入和注册.下面我们将详细分析这三个实现过程,Spring把这三个过程分开,并使用不同的模块来完成,通过这样的设计让用户更加灵活的这三个过程进行剪裁和扩展,定义出最适合自己的IOC容器的初始化过程. 第一个过程: Resource定位过程,是指BeanDefinition的资源定位,他由ResourceLoad

IoC容器实现原理

实例化 在实例化一个类时,它通过反射调用类中set方法将事先保存在HashMap中的类属性注入到类中. 依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制反转是指new实例工作不由我们程序员来做而是交给spring容器来做. IoC容器工作原理 大致分为BeanDefinition的定位.IoC容器初始化.依赖注入三个过程,具体说明如下: BeanDefinition的定位.对IoC容器来说,它为管理POJO之间的依赖关系提供了帮助,但

Spring基于事件驱动模型的订阅发布模式代码实例详解

代码下载地址:http://www.zuidaima.com/share/1791499571923968.htm 原文:Spring基于事件驱动模型的订阅发布模式代码实例详解 事件驱动模型简介 事件驱动模型也就是我们常说的观察者,或者发布-订阅模型:理解它的几个关键点: 首先是一种对象间的一对多的关系:最简单的如交通信号灯,信号灯是目标(一方),行人注视着信号灯(多方): 当目标发送改变(发布),观察者(订阅者)就可以接收到改变: 观察者如何处理(如行人如何走,是快走/慢走/不走,目标不会管的

spring BeanFactory 与ApplicationContext

Spring 的IOC容器就是一个实现了BeanFactory的接口,通过工厂模式来获取对应的Bean对象的引用: BeanFactory的子接口有: ApplicationContext,AutowireCapableBeanFactory,ConfigurablePortleApplication等,其中最为常用的为ApplicationContext: ApplicationContext接口的实现类有FileSystemXMLApplicationContext.ClassPathXML

从头认识Spring-1.3 Spring的容器与Bean

这一章节我们来讨论一下Spring的容器与Bean. 1.Spring的容器 (1)BeanFactory 这个是由org.springframework.beans.factory.BeanFactory来实现的 (2)ApplicationContext 这个是由org.springframework.context.ApplicationContext来实现的 我们在一般的编程当中,都是以ApplicationContext为主,因为它提供的方法更加的方便. 2.ApplicationCo

applicationcontext

实用的Bean工厂ApplicationContext ApplicationContext的中文意思是"应用前后关系",它继承自BeanFactory接口,除了包含BeanFactory的所有功能之外,在国际化支持.资源访问(如URL和文件).事件传播等方面进行了良好的支持,被推荐为Java EE应用之首选,可应用在Java APP与Java Web中. ApplicationContext接口的常用实现类介绍 1. ClassPathXmlApplicationContext 从类

带你走进spring的世界

spring有两大特性,其一为ioc,其二为aop 1.ioc的理解 ioc为依赖注入,他的好处就是把创建对象的权利交给spring去管理,这样的好处是 将应用程序中的对象解耦,传统的方式程序中的对象与对象引用的对象相互依赖,这样就使得依赖性增高,增加耦合性. di为控制反转,以前创建对象的权利由应用程序,现在交给spring来管理 从应用层到ioc这就为控制反转. ioc提供了两种容器: 1)bean工厂(BeanFactory),采用工厂模式,负责创建和分发bean对象,bean工厂还参与到