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");  
        }  
    }
  • 相关阅读:
    CornerNet 算法笔记
    弱监督学习下商品识别:CVPR 2018细粒度识别挑战赛获胜方案简介
    弱监督学习总结(1)
    【机器学习】模型融合方法概述
    目标检测评价标准
    目标检测Anchor-free分支:基于关键点的目标检测
    空洞卷积(dilated convolution)
    【Android】Android程序保护与破解浅析
    【随笔】入世
    【Android】Android部分问题记录
  • 原文地址:https://www.cnblogs.com/yifanSJ/p/9220997.html
Copyright © 2011-2022 走看看