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");  
        }  
    }
  • 相关阅读:
    她又在这个星期联系我了 20110422
    用心去做 20110307
    2011年随笔记
    让我有勇气坚持下去 20110427
    2011年随笔记 5月30号以后的日志薄
    因为迷失,所以 201103015
    迷失只是暂时 20110313
    我们做一对好哥们吧 20101228
    3.20号,她恢复了联系 20110320
    FW: Deploy reporting services web parts (RSWebParts) to SharePoint 2010
  • 原文地址:https://www.cnblogs.com/yifanSJ/p/9220997.html
Copyright © 2011-2022 走看看