加载器目前有两种选择: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");
-------------------------------------------------------------------------------------------
spring为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());
分享到:
相关推荐
1. ClassPathXmlApplicationContext:这是最常用的ApplicationContext实现之一,通过读取类路径(classpath)下的XML配置文件来初始化ApplicationContext。例如,我们通常会创建如`new ClassPathXmlApplicationContext...
ApplicationContext可以从XML文件、Java配置类或者@ComponentScan注解中读取配置信息。XML配置是最传统的形式,其中定义了Bean的类名、属性、依赖关系等。Java配置则使用@Configuration和@Bean注解,使得代码更加...
总的来说,Spring提供了多种方式来读取和管理配置文件,无论是类路径还是文件系统,甚至是跨环境的配置管理,都提供了灵活的解决方案。通过`ClassPathXmlApplicationContext`和`FileSystemXmlApplicationContext`,...
在Spring中,配置文件通常为XML格式,如`applicationContext.xml`,它定义了bean的实例化、属性设置、装配关系等。当我们启动Spring容器(如ClassPathXmlApplicationContext),容器会解析这个XML文件,生成相应的...
在Spring Boot中读取不同路径下的`applicationContext.xml`配置文件,可以通过多种方式实现,包括`@ImportResource`注解、`SpringApplication.setAdditionalSources()`以及利用profiles。理解这些方法并灵活运用,...
本篇文章将详细探讨如何在Spring Boot中读取不同路径下的`applicationContext.xml`文件。 首先,了解Spring Boot默认的启动机制,它通过`@SpringBootApplication`注解来扫描和初始化应用。这个注解包含了`@...
通过`@ImportResource`、环境变量、自定义初始化器等方式,我们可以灵活地读取不同路径下的`applicationContext.xml`文件,以满足特定的需求。同时,结合Spring Boot的特性,如Profile和自动配置,可以实现更加灵活...
读取XML配置文件是通过`ApplicationContext`接口实现的,主要有两种方式:`ClassPathXmlApplicationContext`和`FileSystemXmlApplicationContext`。前者从类路径下加载配置文件,后者则从文件系统中加载。例如,创建...
本文将深入探讨如何在Spring Boot项目中读取不同路径下的`applicationContext.xml`配置文件。 首先,Spring Boot的设计原则是简化配置,它默认不支持XML配置,而是倾向于自动配置和Java配置。然而,如果确实有需求...
本篇文章将详细探讨如何在Spring Boot项目中读取不同路径下的`applicationContext.xml`配置文件。 首先,了解Spring Boot的核心理念是简化Spring应用程序的初始设置,它默认并不支持从XML配置文件加载bean。然而,...
本篇文章将深入探讨如何在Spring Boot中读取不同路径下的`applicationContext.xml`配置文件。 1. **配置文件位置**: - Spring Boot默认会查找`src/main/resources`目录下的`applicationContext.xml`。然而,我们...
Spring Boot提供了多种方式来读取和使用这些配置文件,使其更加便捷和高效。以下将详细介绍Spring Boot读取配置文件的常用方法。 1. **属性文件** Spring Boot默认支持两种主要的属性文件格式:`application....
这种方式不再使用DWR自带的dwr.xml文件,而是将所有配置直接放入Spring的配置文件中,如applicationContext.xml。这种方式的优点是可以进一步简化配置,使得整个系统更加整洁。 1. **配置Spring容器**:与第一种...
为了读取YAML配置,你需要在Spring Boot应用的启动类或者其他适当的初始化点,注册`@EnableConfigurationProperties`注解,指定配置属性类。例如,如果你有一个名为`ConfigProps`的类,其中包含了YAML文件中的属性:...
Spring框架的配置文件通常以`applicationContext.xml`命名,这是Spring应用上下文的核心配置文件。在文件中,我们可以通过`<bean>`标签来定义一个Bean,例如: ```xml ``` 上述代码中,`id`属性定义了...
在Spring的配置文件(如applicationContext.xml)中,定义一个`SchedulerFactoryBean`,设置数据库连接信息,并开启从数据库加载Job和Trigger的配置: ```xml <bean id="schedulerFactoryBean" class="org.spring...
最基础的获取Spring容器的方式是直接创建`ApplicationContext`实例。通常,我们通过读取配置文件来初始化`ApplicationContext`,如: ```java ApplicationContext ac = new FileSystemXmlApplicationContext(...
在实际应用中,我们还需要配置Spring的ApplicationContext,加载配置文件,并获取`DocumentService`的实例,如下所示: ```java ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); ...
了解了基本用法后,我们来探讨一下Spring读取外部文件的工作原理。Spring的`ApplicationContext`类是通过`DefaultResourceLoader`来加载资源的。具体来说,当我们调用`FileSystemXmlApplicationContext`的构造函数时...