在web.xml中定义contentConfigLocation参数,Spring会使用这个参数加载所有逗号分隔的.xml文件,Spring默认加载web-INF下的applicationContext.xml文件.
<content-param> <param-name>contentConfigLocation</param-name> <paramvalue>classpath*:config/applicationContext.xml,classpath*:config/applicationContext-shiro.xml </param-value> </content-param>
contencConfigLocation参数定义了要装入Spring的配置文件,装入的原理说明如下:
Sping中提供ServletContentListener的一个实现类contentLoaderListener,该类可以做一个Listener使用,如果要装入的配置文件只用一个并且名称为applicationContent.xml时,则只需要在文件中加入以下代码即可:
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
如果要装入的配置文件有多个时,则需要使用<content-param>确定文件名称,由于contentLoaderListener加载时会查找名为contentConfigLocation的参数,因此,在定义<content-param>的名称时使用contentConfigLocation.
有多个配置文件如下配置:
<context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:config/applicationContext.xml,classpath*:config/applicationContext-shiro.xml </param-value> </context-param> <context-param> <param-name>webAppRootKey</param-name> <param-value>EPMAS.webapp.root</param-value> </context-param> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
如果没有contentConfigLocation参数指定的配置文件,则Spring会自动的查找applicationContent.xml配置文件;如果配置有contentConfigLocation参数指定的配置文件,该参数指定的是一个字符串,Spring的contentLoaderListener负责将该字符串分解成多个配置文件,逗号,空格,分号多可以作为分隔符;如果没有contentConfigLocation参数指定为配置文件,也没有名称为applicationContent.xml的配置文件,都会导致Spring无法加载配置文件或者创建applicationContent实例异常.
注意:使用contentLoaderListener类来实现配置文件的装入仅适用于适用于Servlet2.4及以上规范Servlet容器。
基于contentLoaderServlet类来实现Spring配置文件的装入可以适用于servlet2.3以下规范的servlet容器:
<context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:config/applicationContext*.xml </param-value> </context-param> <servlet> <servlet-name>context</servlet-name> <servletclass> org.springframework.web.context.ContextLoaderServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet>
Spring 提供了一个特殊的Servllet 类: ContextLoaderServlet。该Servlet 在启动时,会自动查找WEB-INF下的applicationContext. xml 文件。当然,为了让ContextLoaderServlet 随应用启动而启动,应将此Servlet 配置成load-on-startup 的Servleto load-on-startup 的值小一点比较合适,因为要保证ApplicationContext 优先创建。
从servlet容器启动时加载组件的顺序来看(ServletContext-> listener ->filter -> servlet),Listener组件是优先于Servlet组件的。基于Servlet方式的加载方案主要是为了兼容Servlet2.3及以下规范的Servlet容器。以Tomcat为例,Tomcat 5.x都已经支持Servlet2.4规范了,因此,基于Listener方式启动Spring容器是目前的主流选择。
相关推荐
### Spring配置文件详解 #### 一、引言 在Java Web开发领域,Spring框架因其强大的功能和灵活性而受到广泛欢迎。对于初学者来说,理解Spring的配置方式是至关重要的第一步。本文将详细介绍Spring中常见的配置文件...
### Spring MVC 的配置文件详解 #### 一、配置分发器 (DispatcherServlet) Spring MVC 的核心组件之一就是 DispatcherServlet,它作为整个框架的入口,负责处理所有进入 Spring Web 应用程序的请求。为了使 ...
Web配置文件通常包含`web.xml`,它是Web应用的部署描述符,定义了Servlet、过滤器、监听器等。在SpringMVC的集成中,需要配置DispatcherServlet,指定其初始化参数,如配置文件的位置。过滤器(如...
### Spring配置文件详解 #### 一、引言 在Java Web开发领域中,Spring框架以其强大的功能和灵活性占据了举足轻重的地位。Spring的核心之一在于它的依赖注入(DI)和面向切面编程(AOP)特性,而这些特性的实现离不...
在构建基于Spring MVC的Web应用程序时,`web.xml`配置文件扮演着至关重要的角色。它定义了应用程序的行为,包括启动时的初始化、请求处理以及中间件的设置。下面我们将详细探讨`web.xml`中涉及Spring MVC的主要配置...
在 web.xml 文件中配置 ContextLoaderListener 和 contextConfigLocation,以便加载 Spring 的配置文件。 ```xml <!-- Spring 配置 --> org.springframework.web.context.ContextLoaderListener ...
- 在Spring的XML配置文件(如`activemq-consumer.xml`和`activemq-producer.xml`)中,我们可以定义JMS的ConnectionFactory和Destination(队列或主题)。 - `activemq-consumer.xml`通常包含消息消费者的配置,...
在配置文件中,我们可以设置`AuthenticationManager`,指定如何处理用户提交的凭证。 2. **授权(Authorization)**: 授权是决定已认证的用户可以访问哪些资源。Spring Security支持基于角色的访问控制(RBAC)、...
### Spring 加载多个配置文件详解 #### 一、引言 在现代软件开发中,Spring 框架因其强大的依赖注入(DI)和面向切面编程(AOP)能力而备受青睐。尤其在构建大型应用时,为了提高代码的可读性和可维护性,将系统...
Spring 框架详解与配置指南 Spring 是一个开源的 Java 应用程序框架,它以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)为核心,为开发人员提供了丰富的功能,简化了...
配置文件是Spring框架的核心组成部分,它定义了对象的生命周期、行为以及它们之间的依赖关系。下面我们将深入探讨Spring配置文件中的关键知识点。 首先,我们来看`<context:component-scan>`标签,它用于开启注解...
《Spring Web 框架详解》 在Java的Web开发领域,Spring框架是不可或缺的重要工具,其中`org.springframework.web.jar`文件是Spring框架的核心组成部分,主要用于处理Web应用程序的相关功能。这个JAR(Java Archive...
Spring配置文件主要用于定义Bean、数据源、事务管理器以及与Struts2和Hibernate的集成。例如: ```xml <!-- 数据库连接配置 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate5....
4. **配置Spring MVC**:创建Spring MVC的配置文件,如`servlet-context.xml`,配置DispatcherServlet、视图解析器(如InternalResourceViewResolver)、拦截器等。 5. **配置MyBatis**:编写MyBatis的全局配置文件...
5. **XML配置详解**:在Spring的XML配置文件中,你可以定义bean的实例化方式,如构造函数注入、属性注入等。在SpringMVC的配置中,你需要定义视图解析器,如InternalResourceViewResolver,以及处理请求的处理器映射...
在Spring框架中,web.xml配置文件是Web应用的核心配置文件,它定义了Servlet、Filter、Listener等组件的初始化参数和部署信息。手动生成web.xml配置文件对于理解和掌握Spring的部署流程至关重要。以下将详细介绍如何...
提供了访问配置文件、创建和管理bean以及Inversion of Control/Dependency Injection (IoC/DI)操作的相关类。如果你的应用只需要基本的IoC/DI支持,那么引入spring-core.jar和spring-beans.jar就足够了。此jar包...
在 Spring WEB 模块中,我们需要配置文件来指定 Spring 的配置文件的位置。例如: ```xml <param-name>contextConfigLocation <param-value>/WEB-INF/classes/applicationContext.xml ``` 在上面的代码中,我们...
- **上下文**:提供了一个配置文件,允许 Spring 与外部系统进行交互,例如 JNDI、EJB、邮件服务等。 - **AOP**:提供了面向切面编程的支持,使得开发者可以方便地在 Spring 管理的对象中实现 AOP 功能。 - **DAO ...
`ContextLoaderListener`监听器会在Web应用启动时加载配置文件,并创建Spring的ApplicationContext,从而激活定时任务。 总结来说,Spring定时器的配置主要包括创建任务类、在配置文件中定义任务和调度规则,以及在...