`
liqita
  • 浏览: 291877 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ClassPathXmlApplicationContext,FileSystemXmlApplicationContext和 XmlWebApplicatio

阅读更多

ApplicationContext应用

  1. spring为ApplicationContext提供的3种实现分别为:ClassPathXmlApplicationContext,FileSystemXmlApplicationContext和 XmlWebApplicationContext,其中XmlWebApplicationContext是专为Web工程定制的。使用举例如下:  
  2.    1. FileSystemXmlApplicationContext  
  3.            eg1. ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml"); //加载单个配置文件  
  4.            eg2.  
  5.                    String[] locations = {"bean1.xml""bean2.xml""bean3.xml"};  
  6.                    ApplicationContext ctx = new FileSystemXmlApplicationContext(locations ); //加载多个配置文件  
  7.            eg3.          
  8.         ApplicationContext ctx =new FileSystemXmlApplicationContext("D:/project/bean.xml");//根据具体路径加载文件  
  9.   2. ClassPathXmlApplicationContext  
  10.            eg1.  ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");  
  11.            eg2.  
  12.                    String[] locations = {"bean1.xml""bean2.xml""bean3.xml"};  
  13.                    ApplicationContext ctx = new ClassPathXmlApplication(locations);  
  14.            注:其中FileSystemXmlApplicationContext和ClassPathXmlApplicationContext与 BeanFactory的xml文件定位方式一样是基于路径的。  
  15. 3. XmlWebApplicationContext  
  16.        eg1. ServletContext servletContext = request.getSession().getServletContext();      
  17.             ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);  
  18.   
  19.   
  20.   
  21. 注 : 一般是 ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());  
  22.   
  23.   
  24.  加载器目前有两种选择:ContextLoaderListener和ContextLoaderServlet。  
  25.          这两者在功能上完全等同,只是一个是基于Servlet2.3版本中新引入的Listener接口实现,而另一个基于Servlet接口实现。开发中可根据目标Web容器的实际情况进行选择。  
  26.   
  27. 配置非常简单,在web.xml中增加:  
  28. <listener>  
  29.        <listener-class>  
  30.           org.springframework.web.context.ContextLoaderListener  
  31.        </listener-class>  
  32. </listener>  
  33. 或:  
  34. <servlet>  
  35.          <servlet-name>context</servlet-name>  
  36.          <servlet-class>  
  37.            org.springframework.web.context.ContextLoaderServlet  
  38.          </servlet-class>  
  39.          <load-on-startup>1</load-on-startup>  
  40. </servlet>      
  41.   
  42.   
  43. 通过以上配置,Web容器会自动加载/WEB-INF/applicationContext.xml初始化  
  44. ApplicationContext 实例,如果需要指定配置文件位置,可通过context-param加以指定:  
  45. <context-param>  
  46.          <param-name>contextConfigLocation</param-name>  
  47.          <param-value>/WEB-INF/myApplicationContext.xml</param-value>  
  48. </context-param>  
  49.   
  50. 配置完成之后,即可通过  
  51. WebApplicationContextUtils.getWebApplicationContext 方法在Web应用中获取ApplicationContext引用。  
  52.   
  53. 如:ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext();  
  54.          LoginAction action=(LoginAction)ctx.getBean("action");  
分享到:
评论

相关推荐

    模拟spring中的ClassPathXmlApplicationContext类的实现

    在Spring中,`ClassPathXmlApplicationContext`是用于加载和管理配置元数据的一个重要类,它允许我们通过XML配置文件来创建和初始化bean。这个类在启动Spring应用上下文时起着关键作用。 `...

    spring的基础(一)自己写的ClassPathXmlApplicationContext类

    `ClassPathXmlApplicationContext`是Spring框架中用于加载和管理配置元数据的核心类,它允许我们通过XML文件来定义和初始化Bean。在Java应用中,Spring作为一个依赖注入(DI)和面向切面编程(AOP)的框架,极大地...

    spring为ApplicationContext提供的3种实现分别为:ClassPathXmlApplicationContext

    ClassPathXmlApplicationContext和FileSystemXmlApplicationContext适用于传统的XML配置方式,适合于大型项目,因为XML配置可以提供清晰的结构和分离的配置。而AnnotationConfigApplicationContext则更简洁,减少了...

    spring容器的触发事件 ClassPathXmlApplicationContext的start()方法的用法

    通过使用 `ClassPathXmlApplicationContext` 类和事件监听器,开发者可以轻松地扩展应用的功能,同时也能更好地理解和控制 Spring 应用程序的生命周期。 总之,在实际开发过程中,熟练掌握这些事件的触发时机以及...

    maven相关资料

    二、ClassPathXmlApplicationContext[只能读放在web-info/classes目录下的配置文件]和FileSystemXmlApplicationContext的区别 classpath:前缀是不需要的,默认就是指项目的classpath路径下面; 如果要使用绝对路径,...

    ssm框架源码分析之.docx

    5.3.ClassPathXmlApplicationContext和 FileSystemXmlApplicationContext是应用上下文,提供了与环境相关的功能,如资源加载,事件传播等,它们都继承自 AbstractApplicationContext,而后者又继承自 ...

    spring读取配置文件

    本篇文章将深入探讨如何在Spring中读取不同目录下的配置文件,以及使用`ClassPathXmlApplicationContext`和`FileSystemXmlApplicationContext`这两种不同的上下文环境来加载它们。 首先,让我们了解`...

    spring教程(ppt版)

    有三种常见的ApplicationContext实现:ClassPathXmlApplicationContext、FileSystemXmlApplicationContext和XmlWebApplicationContext,分别用于加载类路径、文件系统和Web环境中的配置文件。 【Bean的生命周期】当...

    如何获得spring上下文的方法总结

    在Spring框架中,获得上下文的方法可以分为四种:AnnotationConfigApplicationContext、AnnotationConfigWebApplicationContext、ClassPathXmlApplicationContext和FileSystemXmlApplicationContext。 1. ...

    spring-4.2.1所有jar包的源代码

    这两个包提供了Bean工厂和ApplicationContext接口,以及相关的实现类,如ClassPathXmlApplicationContext和FileSystemXmlApplicationContext。 其次,AOP(Aspect Oriented Programming,面向切面编程)是Spring的...

    spring 2. 技术手册源代码 前六章

    ApplicationContext支持多种类型,如ClassPathXmlApplicationContext和FileSystemXmlApplicationContext,分别用于从类路径和文件系统加载配置。 在数据访问方面,Spring提供了丰富的支持,包括JDBC、ORM(Object-...

    org.springframework.context_3.0.5.release.jar.zip

    Spring提供了多种ApplicationContext实现,包括ClassPathXmlApplicationContext、FileSystemXmlApplicationContext、WebApplicationContext等。这些实现方式分别对应于不同应用场景: 1. ...

    sping applicationcontext中的一些例子demo

    首先,`ApplicationContext`有多个实现类,如`ClassPathXmlApplicationContext`、`FileSystemXmlApplicationContext`和`WebApplicationContext`等。这些子类分别对应不同的应用场景: 1. **...

    18 Spring IoC容器如何读取应用外部的xml,txt,图形或者属性文件?慕课专栏(1)1

    通常,我们会在应用内部的类路径(ClassPath)下放置配置文件,如`applicationContext.xml`,然后使用`ClassPathXmlApplicationContext`来加载这些内部配置文件。然而,有时我们需要从应用外部读取配置文件,比如`...

    spring 容器.docx

    ApplicationContext的实现类如FileSystemXmlApplicationContext、ClassPathXmlApplicationContext和AnnotationConfigApplicationContext分别支持从文件系统、类路径或注解配置中加载Bean定义。 ApplicationContext...

    Spring核心jar包

    ApplicationContext的实现类有ClassPathXmlApplicationContext和FileSystemXmlApplicationContext,分别用于从类路径和文件系统加载配置文件。此外,还有AnnotationConfigApplicationContext用于处理基于注解的配置...

    ApplicationContext及它的3种实现.docx

    - **FileSystemXmlApplicationContext**:与`ClassPathXmlApplicationContext`类似,但它从文件系统的绝对路径加载XML配置文件。如`new FileSystemXmlApplicationContext("D:/project/bean.xml")`,它会根据提供的...

    Spring框架系列(6) - Spring IOC实现原理详解之IOC体系结构设计.doc

    Spring提供了多种ApplicationContext实现,如ClassPathXmlApplicationContext和FileSystemXmlApplicationContext,分别对应于类路径和文件系统下的XML配置文件。 Spring IoC容器的设计还涉及Bean的生命周期管理。...

    Spring系列.docx

    其次,Spring提供了多种ApplicationContext的实现,包括ClassPathXmlApplicationContext、FileSystemXmlApplicationContext和XmlWebApplicationContext。这些实现分别用于从类路径资源、文件系统和Web环境的XML文件...

Global site tag (gtag.js) - Google Analytics