zoukankan      html  css  js  c++  java
  • @PostConstruct、Listener、File、Interceptor的执行顺序

    Listener(在依赖注入之前 ):

    在Servlet API中有一个ServletContextListener接口,它能够监听ServletContext对象的生命周期,实际上就是监听Web应用的生命周期。

    当Servlet容器启动或终止Web应用时,会触发ServletContextEvent事件,该事件由 ServletContextListener 来处理。在 ServletContextListener 接口中定义了处理ServletContextEvent事件的两个方法。

    contextInitialized(ServletContextEvent sce):当Servlet容器启动Web应用时调用该方法。在调用完该方法之后,容器再对Filter初始化,并且对那些在Web应用启动时就需要被初始化的Servlet进行初始化。

    contextDestroyed(ServletContextEvent sce):当Servlet容器终止Web应用时调用该方法。在调用该方法之前,容器会先销毁所有的Servlet和Filter过滤器。

    web.xml

    <listener>  
        <listener-class>com.gjxx.system.utils.ContextListener</listener-class>  
    </listener>

    ContextListener.java

    public class ContextListener implements ServletContextListener{  
        public void contextInitialized(ServletContextEvent sce) {  
            System.out.println("1111111111111111111");  
        }  
        public void contextDestroyed(ServletContextEvent sce) {  
            System.out.println("22222222222222222222222");  
        }  
    }

    @PostConstruct(在依赖注入之后,更适合调用数据库放入redis中)

    spring.xml

    <context:component-scan base-package="com.gjxx.system.controller,com.gjxx.system.utils" />  

    LoginServiceImpl.java

    @Component  
    public class LoginServiceImpl{  
        @Autowired  
        private RedisTemplate<String, String> redisTemplate;  
          
        @PostConstruct  
        public void readProperties() {  
            System.out.println("这里要读属性了");  
            Map<String, String> map = (Map<String, String>) redisTemplate.opsForHash().get("aaa", "bb");  
        }  
    }
  • 相关阅读:
    C#基础(WinForm窗体的单例模式,避免窗体被实例化多次)
    NPOI基础入门(旧版本)
    SQLite数据插入异常
    EClipse开发NDK流程
    git 常用命令
    6.0权限的简单实用
    MVVM模式
    去掉所有字符里面的空格换行符等
    高逼格的实现WiFi共享,不安装第三方wifi共享软件,两种方式实现开启wifi的功能
    常用的正则表达表达式以及简单用法
  • 原文地址:https://www.cnblogs.com/yifanSJ/p/9220997.html
Copyright © 2011-2022 走看看