zoukankan      html  css  js  c++  java
  • spring 在web.xml 里面如何使用多个xml配置文件

    1, 在web.xml中定义 contextConfigLocation参数.spring会使用这个参数加载.所有逗号分割的xml.如果没有这个参数,spring默认加载web-inf/applicationContext.xml文件

    <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>
        classpath*:conf/spring/applicationContext_core*.xml,
        classpath*:conf/spring/applicationContext_dict*.xml,
        classpath*:conf/spring/applicationContext_hibernate.xml,
        classpath*:conf/spring/applicationContext_staff*.xml,
        classpath*:conf/spring/applicationContext_security.xml
        classpath*:conf/spring/applicationContext_modules*.xml
        classpath*:conf/spring/applicationContext_cti*.xml
        classpath*:conf/spring/applicationContext_apm*.xml
      </param-value>
    </context-param> 

    contextConfigLocation 参数定义了要装入的 Spring 配置文件。原理说明如下:
    、利用ServletContextListener 实现。
    Spring 提供ServletContextListener 的一个实现类ContextLoaderListener ,该类可以作
    为listener 使用,它会在创建时自动查找WEB-INF/ 下的applicationContext.xrnl 文件。因
    此,如果只有一个配置文件,并且文件名为applicationContext.xml ,则只需在web.xml
    文件中增加如下代码即可:

    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    如果有多个配置文件需要载入,则考虑使用<context-para即元素来确定配置文件的
    文件名。由于ContextLoaderListener加载时,会查找名为contextConfigLocation的参数。
    因此,配置context-param时参数名字应该是contextConfigLocation。
    带多个配置文件的web.xml 文件如下

    <!-- XML 文件的文件头--〉
    <?xml version="l.O" encoding="工80-8859-1"?>
    <!-- web.xm1 文件的DTD 等信息--〉
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems. 工口c.//DTD Web Application 2.3//EN"
    ''http://java.sun.com/dtd/web-app_2_3.dtd''>
    <web-app>
    <!--确定多个配置文件-->
    <context-param>
    <!-- 参数名为contextConfigLocation…--〉
    <param-name>contextConfigLocation</param-name>
    <!一多个配置文件之间以,隔开--〉
    <param-value>
    /WEB-INF/daoContext.xml,
    /WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <!-- 采用listener创建Applicat工onContext 实例-->
    <listener>
    <listener-class>org.spr工ngframework.web.context.ContextLoader
    Listener</listener-class>
    </listener>
    </web-app>
  • 相关阅读:
    闭包如何产生内存消耗及性能消耗
    纯色半透明
    CSS选择符权重
    浅谈模块化的JavaScript
    WEB前端知识体系
    侃侃meta标签
    【读书笔记】读《编写可维护的JavaScript》 编程风格(第一部分)
    谈谈防御性编程
    很小的一个函数执行时间调试器Timer
    谈谈防止重复点击提交
  • 原文地址:https://www.cnblogs.com/lukelook/p/11071762.html
Copyright © 2011-2022 走看看