Spring Bean生命周期源码剖析
2020-10-08 11:55
696 查看
概述
spring流行了很长时间了,是一个用java编写的轻量级框架,受到了很多公司及程序员的欢迎,Bean生命周期是一个对象从实例化开始到销毁的全过程,了解生命周期是很有必要的。
重要性
spring的生命周期是比较复杂的,只有了解其过程及原理才能更好的扩展程序。
源码剖析
生命周期过程
bean的实例化
属性填充及Aware接口检测设置依赖
如果容器自定义了BeanpostProcessor的实现类,则执行处理器相应的前置处理
bean实现了初始化接口InitlializingBean,则会执行相应的逻辑
同时也自定义了初始化方法init-method
如果容器自定义了BeanpostProcessor的实现类,则会执行相应处理器的后置处理
注册销毁的回调bean
bean实现了销毁接口DisposableBean,则会执行相应的逻辑
同时也自定义了销毁化方法destory-method
流程的请求总结
上述流程图总结了从容器启动到销毁的全过程
总结
一、从上面源码分析,spring的生命周期可以分为四大块:
1、bean的实例化
2、bean属性的设值
3、bean的初始化
4、bean的销毁
二、实现了Aware的接口,则会注入相应的依赖
三、接口BeanPostProcessor有两个初始化方法,这两个方法在增加bean的时候,很重要,比如,spring aop可以返回一个代理对象;参数的解密等等
四、其中生命周期用了简单工厂、工厂方法、单例模式、适配器模式、策略模式,利用这些设计模式,能够设计出更好的应用程序。
相关文章推荐
- java线程基础巩固---线程生命周期以及start方法源码剖析
- React 源码剖析系列 - 生命周期的管理艺术
- 源码剖析Fragment的Pause生命周期
- Activity生命周期的回调,你应该知道得更多!--Android源码剖析(下)
- React源码剖析系列 - 生命周期的管理艺术
- 深入剖析PHP7内核源码(一)- PHP架构与生命周期
- 深入理解 Tomcat(六)源码剖析Tomcat 启动过程----生命周期和容器组件
- Activity生命周期的回调,你应该知道得更多!--Android源码剖析(上)
- React源码剖析系列 - 生命周期的管理艺术
- Spring bean的生命周期,对比源码详解
- Java集合HashMap源码剖析
- Android菜鸟的成长笔记(6)——剖析源码学自定义主题Theme
- 【Linux 内核网络协议栈源码剖析】connect 函数剖析(二)
- 守护进程xinetd源码剖析(1)
- SpringMVC源码剖析(三)- DispatcherServlet的初始化流程
- 【JDK源码剖析】Stack -- 栈
- GDAL源码剖析(七)之GDAL RasterIO使用说明
- libevent源码剖析
- SpringBoot原理深入及源码剖析
- TOMCAT源码分析-生命周期管理2