Servlet 生命周期
init() 初始化阶段
Servlet 容器加载 Servlet(web.xml 中有 load-on-startup=1;Servlet 容器启动后用户首次向 Servlet 发请求; Servlet 类文件被更新后重新装载)
Servlet 容器创建一个 Servlet 实例并调用 init() 方法
service() 处理客户端请求阶段
客户发送请求
Servlet 产生一个新的线程
Servlet 创建特定于请求的 ServletRequest, ServletResponse
调用 service() 方法对请求进行响应, 如 HttpServlet 的 doPost,doGet
destroy() 终止阶段
Web 应用终止 / Servlet 容器终止运行 / Servlet 重新装载 Servlet 实例时, 会调用 Servlet 的 destroy() 方法.
Spring Bean 生命周期
Bean 实例化
设置对象属性 (IoC 注入)
检查 Aware 相关接口并设置相关依赖
BeanPostProcess 前置处理
检查是否是 InitializingBean 以决定是否调用 afterPropertiesSet
检查是否有自定义的 init-method(配置文件中可以定义)
BeanPostProcess 后置处理
注册 Destruction 相关回调接口
Bean 准备就绪
使用
调用 DispostbleBean 的 destroy 来销毁 Bean
调用定制的销毁方法
来源: http://www.bubuko.com/infodetail-3210790.html