通过 ServletContextEvent 自定义spring的applicationContext文件名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过 ServletContextEvent 自定义spring的applicationContext文件名称相关的知识,希望对你有一定的参考价值。

创建listener实现ServletContext接口

public class SpringServletContextListener implements ServletContextListener {

    // Public constructor is required by servlet spec
    public SpringServletContextListener() {
    }

    // -------------------------------------------------------
    // ServletContextListener implementation
    // -------------------------------------------------------
    public void contextInitialized(ServletContextEvent sce) {

//        1获取spring配置文件的名称
        ServletContext servletContext = sce.getServletContext();
        String config = servletContext.getInitParameter("ConfigLocation");
//1.创建IOC容器
        ApplicationContext ctx = new ClassPathXmlApplicationContext(config);
//        2.将IOC容器放入servletContext一个属性中
    }

    public void contextDestroyed(ServletContextEvent sce) {
      /* This method is invoked when the Servlet Context 
         (the Web application) is undeployed or 
         Application Server shuts down.
      */
    }
}

在web.xml文件中配置listener和<context-param>属性

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">

    <!--配置spring配置文件的名称和位置-->
    <context-param>
        <param-name>ConfigLocation</param-name>
        <param-value>applicationContext.xml</param-value>
    </context-param>

    <!--启动IOC容器的servletContextListener-->
    <listener>
        <listener-class>com.marry.spring.struts2.listeners.SpringServletContextListener</listener-class>
    </listener>
</web-app>



本文出自 “小小小小白” 博客,请务必保留此出处http://malin.blog.51cto.com/10779111/1842767

以上是关于通过 ServletContextEvent 自定义spring的applicationContext文件名称的主要内容,如果未能解决你的问题,请参考以下文章

通过 freemarker/高级 pdf 模板打印记录时,NetSuite 是不是会加载自定义子列表?

Silverlight 4.0 - 通过自定义安装程序部署 XAP 并将其配置为 OOB + 提升权限

自定义通过Dockerfile创建httpd镜像

无效的 URI:无法通过我们的自定义重写 IHttpModule 解析主机名

自定SvgIcon公用组件

如何获取自定义单元格并通过 indexpath 使用它的自定义项 - swift3?