• Spring的web应用启动加载数据字典方法


      在一个基于Spring的web项目中,当我们需要在应用启动时加载数据字典时,可写一个监听实现javax.servlet.ServletContextListener

    实现其中的contextInitialized(ServletContextEvent sce) 方法完成,初始化的操作。代码示例如下

    一、监听程序

    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.web.context.support.WebApplicationContextUtils;
    
    public class InitDicListener implements ServletContextListener {
    
        public void contextInitialized(ServletContextEvent sce) {
            //spring 上下文
            ApplicationContext     appContext = WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext());
            /*
            ServiceBean bean1=appContext.getBean("xxx");
            ...业务方法,加载数据字典等。
             */
        }
        public void contextDestroyed(ServletContextEvent sce) {
        }
    
    }

    二、配置文件中加入配置

    在web.xml中加入  监听配置, 但要写在Spring配置的下面,这样我们自定义的监听会在Spring监听之后启动,这个时候在我们自定义的监听程序中能够得到Spring的上下文。

    因为,当web.xml中有多个<listener>配置时,排在前面的先启动

        <!-- Spring 框架   -->
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
        <!-- 加载数据字典  在Spring配置的下面-->
        <listener>
            <listener-class>msdemo.listener.InitDicListener</listener-class>
        </listener>

    三、数据字典使用

    程序中  通过 ServletContext的getAttribute(name) 方法来获得 字典数据

    jsp页面中  ${name} 来使用。

  • 相关阅读:
    第七次作业-正规式到正规文法与自动机
    第六次作业——正规文法与正规式
    作业5 词法分析程序的设计与实现
    作业4—文法和语言总结与梳理
    第三次作业
    第二次作业-语言和文法
    编译原理第一次作业
    记录在腾讯云上搭建Ubuntu服务器
    第八章总结--排序 数据结构课程终章
    第七章-查找
  • 原文地址:https://www.cnblogs.com/demingblog/p/3849119.html
Copyright © 2020-2023  润新知