`
- 浏览:
291877 次
- 性别:
- 来自:
上海
-
ClassPathXmlApplicationContext,FileSystemXmlApplicationContext和 XmlWebApplicatio
ApplicationContext应用
- spring为ApplicationContext提供的3种实现分别为:ClassPathXmlApplicationContext,FileSystemXmlApplicationContext和 XmlWebApplicationContext,其中XmlWebApplicationContext是专为Web工程定制的。使用举例如下:
- 1. FileSystemXmlApplicationContext
- eg1. ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml");
- eg2.
- String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};
- ApplicationContext ctx = new FileSystemXmlApplicationContext(locations );
- eg3.
- ApplicationContext ctx =new FileSystemXmlApplicationContext("D:/project/bean.xml");
- 2. ClassPathXmlApplicationContext
- eg1. ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
- eg2.
- String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};
- ApplicationContext ctx = new ClassPathXmlApplication(locations);
- 注:其中FileSystemXmlApplicationContext和ClassPathXmlApplicationContext与 BeanFactory的xml文件定位方式一样是基于路径的。
- 3. XmlWebApplicationContext
- eg1. ServletContext servletContext = request.getSession().getServletContext();
- ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);
-
-
-
- 注 : 一般是 ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
-
-
- 加载器目前有两种选择:ContextLoaderListener和ContextLoaderServlet。
- 这两者在功能上完全等同,只是一个是基于Servlet2.3版本中新引入的Listener接口实现,而另一个基于Servlet接口实现。开发中可根据目标Web容器的实际情况进行选择。
-
- 配置非常简单,在web.xml中增加:
- <listener>
- <listener-class>
- org.springframework.web.context.ContextLoaderListener
- </listener-class>
- </listener>
- 或:
- <servlet>
- <servlet-name>context</servlet-name>
- <servlet-class>
- org.springframework.web.context.ContextLoaderServlet
- </servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
-
-
- 通过以上配置,Web容器会自动加载/WEB-INF/applicationContext.xml初始化
- ApplicationContext 实例,如果需要指定配置文件位置,可通过context-param加以指定:
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/myApplicationContext.xml</param-value>
- </context-param>
-
- 配置完成之后,即可通过
- WebApplicationContextUtils.getWebApplicationContext 方法在Web应用中获取ApplicationContext引用。
-
- 如:ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext();
- LoginAction action=(LoginAction)ctx.getBean("action");
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在Spring中,`ClassPathXmlApplicationContext`是用于加载和管理配置元数据的一个重要类,它允许我们通过XML配置文件来创建和初始化bean。这个类在启动Spring应用上下文时起着关键作用。 `...
`ClassPathXmlApplicationContext`是Spring框架中用于加载和管理配置元数据的核心类,它允许我们通过XML文件来定义和初始化Bean。在Java应用中,Spring作为一个依赖注入(DI)和面向切面编程(AOP)的框架,极大地...
ClassPathXmlApplicationContext和FileSystemXmlApplicationContext适用于传统的XML配置方式,适合于大型项目,因为XML配置可以提供清晰的结构和分离的配置。而AnnotationConfigApplicationContext则更简洁,减少了...
通过使用 `ClassPathXmlApplicationContext` 类和事件监听器,开发者可以轻松地扩展应用的功能,同时也能更好地理解和控制 Spring 应用程序的生命周期。 总之,在实际开发过程中,熟练掌握这些事件的触发时机以及...
二、ClassPathXmlApplicationContext[只能读放在web-info/classes目录下的配置文件]和FileSystemXmlApplicationContext的区别 classpath:前缀是不需要的,默认就是指项目的classpath路径下面; 如果要使用绝对路径,...
5.3.ClassPathXmlApplicationContext和 FileSystemXmlApplicationContext是应用上下文,提供了与环境相关的功能,如资源加载,事件传播等,它们都继承自 AbstractApplicationContext,而后者又继承自 ...
本篇文章将深入探讨如何在Spring中读取不同目录下的配置文件,以及使用`ClassPathXmlApplicationContext`和`FileSystemXmlApplicationContext`这两种不同的上下文环境来加载它们。 首先,让我们了解`...
有三种常见的ApplicationContext实现:ClassPathXmlApplicationContext、FileSystemXmlApplicationContext和XmlWebApplicationContext,分别用于加载类路径、文件系统和Web环境中的配置文件。 【Bean的生命周期】当...
在Spring框架中,获得上下文的方法可以分为四种:AnnotationConfigApplicationContext、AnnotationConfigWebApplicationContext、ClassPathXmlApplicationContext和FileSystemXmlApplicationContext。 1. ...
这两个包提供了Bean工厂和ApplicationContext接口,以及相关的实现类,如ClassPathXmlApplicationContext和FileSystemXmlApplicationContext。 其次,AOP(Aspect Oriented Programming,面向切面编程)是Spring的...
ApplicationContext支持多种类型,如ClassPathXmlApplicationContext和FileSystemXmlApplicationContext,分别用于从类路径和文件系统加载配置。 在数据访问方面,Spring提供了丰富的支持,包括JDBC、ORM(Object-...
Spring提供了多种ApplicationContext实现,包括ClassPathXmlApplicationContext、FileSystemXmlApplicationContext、WebApplicationContext等。这些实现方式分别对应于不同应用场景: 1. ...
首先,`ApplicationContext`有多个实现类,如`ClassPathXmlApplicationContext`、`FileSystemXmlApplicationContext`和`WebApplicationContext`等。这些子类分别对应不同的应用场景: 1. **...
通常,我们会在应用内部的类路径(ClassPath)下放置配置文件,如`applicationContext.xml`,然后使用`ClassPathXmlApplicationContext`来加载这些内部配置文件。然而,有时我们需要从应用外部读取配置文件,比如`...
ApplicationContext的实现类如FileSystemXmlApplicationContext、ClassPathXmlApplicationContext和AnnotationConfigApplicationContext分别支持从文件系统、类路径或注解配置中加载Bean定义。 ApplicationContext...
ApplicationContext的实现类有ClassPathXmlApplicationContext和FileSystemXmlApplicationContext,分别用于从类路径和文件系统加载配置文件。此外,还有AnnotationConfigApplicationContext用于处理基于注解的配置...
- **FileSystemXmlApplicationContext**:与`ClassPathXmlApplicationContext`类似,但它从文件系统的绝对路径加载XML配置文件。如`new FileSystemXmlApplicationContext("D:/project/bean.xml")`,它会根据提供的...
Spring提供了多种ApplicationContext实现,如ClassPathXmlApplicationContext和FileSystemXmlApplicationContext,分别对应于类路径和文件系统下的XML配置文件。 Spring IoC容器的设计还涉及Bean的生命周期管理。...
其次,Spring提供了多种ApplicationContext的实现,包括ClassPathXmlApplicationContext、FileSystemXmlApplicationContext和XmlWebApplicationContext。这些实现分别用于从类路径资源、文件系统和Web环境的XML文件...