首页 > 其他 > 详细

@PostConstruct、Listener、File、Interceptor的执行顺序

时间:2018-06-24 17:41:20      阅读:237      评论:0      收藏:0      [点我收藏+]

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");  
    }  
}

 

@PostConstruct、Listener、File、Interceptor的执行顺序

原文:https://www.cnblogs.com/yifanSJ/p/9220997.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!