javascript
【Spring框架】 ☞ 项目启动时执行特定处理及ApplicationListener源码分析
1、背景
在一些業務場景中,在容器啟動完成后,需要處理一些諸如:kafka業務注冊,數據處理,初始化緩存等的操作。
本文重點介紹如何在服務啟動中,或啟動完成時執行相關處理。
2、針對上述場景,有如下實現方法
A:實現基于javaweb的ServletContextListener接口,重寫contextInitialized()接口
?
?
B:實現基于javaweb的javax.servlet包下的Filter接口,重寫init(FilterConfig filterConfig)接口
?
?
C:繼承基于javaweb的servlet包下的HttpServlet父類,重寫init()接口即可
?
?
D:實現基于Spring的ApplicationListener<ContextRefreshedEvent>接口,重寫onApplicationEvent(ContextRefreshedEvent event)接口
?
?
?總結:基于javaweb實現的接口,均需要在web.xml注冊才可以啟動時掃描到。基于Spring實現的,需要把對象注冊到容器中。
下面是在一個加載順序,可以看出 Listener和Filter是在Servlet之前執行的。
?
3、ApplicationListener源碼分析
? 可以先看下?https://blog.csdn.net/u014263388/article/details/78996509
? 后續會上源碼分析
轉載于:https://www.cnblogs.com/liuxs13/p/9284445.html
總結
以上是生活随笔為你收集整理的【Spring框架】 ☞ 项目启动时执行特定处理及ApplicationListener源码分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.网关服务
- 下一篇: python3-开发进阶-仿博客园项目s