`

web配置文件与Spring详解

阅读更多

在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所有配置文件详解

    ### Spring配置文件详解 #### 一、引言 在Java Web开发领域,Spring框架因其强大的功能和灵活性而受到广泛欢迎。对于初学者来说,理解Spring的配置方式是至关重要的第一步。本文将详细介绍Spring中常见的配置文件...

    spring mvc的配置文件详解

    ### Spring MVC 的配置文件详解 #### 一、配置分发器 (DispatcherServlet) Spring MVC 的核心组件之一就是 DispatcherServlet,它作为整个框架的入口,负责处理所有进入 Spring Web 应用程序的请求。为了使 ...

    SpringMVC+Mybatis+Web配置文件详解

    Web配置文件通常包含`web.xml`,它是Web应用的部署描述符,定义了Servlet、过滤器、监听器等。在SpringMVC的集成中,需要配置DispatcherServlet,指定其初始化参数,如配置文件的位置。过滤器(如...

    spring配置文件详解

    ### Spring配置文件详解 #### 一、引言 在Java Web开发领域中,Spring框架以其强大的功能和灵活性占据了举足轻重的地位。Spring的核心之一在于它的依赖注入(DI)和面向切面编程(AOP)特性,而这些特性的实现离不...

    详解Spring mvc的web.xml配置说明

    在构建基于Spring MVC的Web应用程序时,`web.xml`配置文件扮演着至关重要的角色。它定义了应用程序的行为,包括启动时的初始化、请求处理以及中间件的设置。下面我们将详细探讨`web.xml`中涉及Spring MVC的主要配置...

    spring MVC配置详解

    在 web.xml 文件中配置 ContextLoaderListener 和 contextConfigLocation,以便加载 Spring 的配置文件。 ```xml &lt;!-- Spring 配置 --&gt; org.springframework.web.context.ContextLoaderListener ...

    spring配置activemq详解

    - 在Spring的XML配置文件(如`activemq-consumer.xml`和`activemq-producer.xml`)中,我们可以定义JMS的ConnectionFactory和Destination(队列或主题)。 - `activemq-consumer.xml`通常包含消息消费者的配置,...

    springsecurity使用配置详解

    在配置文件中,我们可以设置`AuthenticationManager`,指定如何处理用户提交的凭证。 2. **授权(Authorization)**: 授权是决定已认证的用户可以访问哪些资源。Spring Security支持基于角色的访问控制(RBAC)、...

    Spring 加载多个配置文件

    ### Spring 加载多个配置文件详解 #### 一、引言 在现代软件开发中,Spring 框架因其强大的依赖注入(DI)和面向切面编程(AOP)能力而备受青睐。尤其在构建大型应用时,为了提高代码的可读性和可维护性,将系统...

    spring 详解 配置详解

    Spring 框架详解与配置指南 Spring 是一个开源的 Java 应用程序框架,它以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)为核心,为开发人员提供了丰富的功能,简化了...

    Spring配置文件详解1

    配置文件是Spring框架的核心组成部分,它定义了对象的生命周期、行为以及它们之间的依赖关系。下面我们将深入探讨Spring配置文件中的关键知识点。 首先,我们来看`&lt;context:component-scan&gt;`标签,它用于开启注解...

    org.springframework.web.jar

    《Spring Web 框架详解》 在Java的Web开发领域,Spring框架是不可或缺的重要工具,其中`org.springframework.web.jar`文件是Spring框架的核心组成部分,主要用于处理Web应用程序的相关功能。这个JAR(Java Archive...

    struts2+spring+hibernate配置文件详解

    Spring配置文件主要用于定义Bean、数据源、事务管理器以及与Struts2和Hibernate的集成。例如: ```xml &lt;!-- 数据库连接配置 --&gt; &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate5....

    SSM框架的配置搭建 spring、 spring mvc、 mybatis 整合详解

    4. **配置Spring MVC**:创建Spring MVC的配置文件,如`servlet-context.xml`,配置DispatcherServlet、视图解析器(如InternalResourceViewResolver)、拦截器等。 5. **配置MyBatis**:编写MyBatis的全局配置文件...

    Spring+SpringMVC+Mybatis整合所需jar包以及xml配置文件配置方式

    5. **XML配置详解**:在Spring的XML配置文件中,你可以定义bean的实例化方式,如构造函数注入、属性注入等。在SpringMVC的配置中,你需要定义视图解析器,如InternalResourceViewResolver,以及处理请求的处理器映射...

    Spring手动生成web.xml配置文件过程详解

    在Spring框架中,web.xml配置文件是Web应用的核心配置文件,它定义了Servlet、Filter、Listener等组件的初始化参数和部署信息。手动生成web.xml配置文件对于理解和掌握Spring的部署流程至关重要。以下将详细介绍如何...

    spring配置jar包详解

    提供了访问配置文件、创建和管理bean以及Inversion of Control/Dependency Injection (IoC/DI)操作的相关类。如果你的应用只需要基本的IoC/DI支持,那么引入spring-core.jar和spring-beans.jar就足够了。此jar包...

    Spring之WEB模块配置详解

    在 Spring WEB 模块中,我们需要配置文件来指定 Spring 的配置文件的位置。例如: ```xml &lt;param-name&gt;contextConfigLocation &lt;param-value&gt;/WEB-INF/classes/applicationContext.xml ``` 在上面的代码中,我们...

    spring详细教程

    - **上下文**:提供了一个配置文件,允许 Spring 与外部系统进行交互,例如 JNDI、EJB、邮件服务等。 - **AOP**:提供了面向切面编程的支持,使得开发者可以方便地在 Spring 管理的对象中实现 AOP 功能。 - **DAO ...

    Spring定时器配置详解

    `ContextLoaderListener`监听器会在Web应用启动时加载配置文件,并创建Spring的ApplicationContext,从而激活定时任务。 总结来说,Spring定时器的配置主要包括创建任务类、在配置文件中定义任务和调度规则,以及在...

Global site tag (gtag.js) - Google Analytics