SpringBean的生命周期

🔥 博客主页**🔥** :【 坊钰_CSDN博客 】

欢迎各位点赞**👍** 评论**✍收藏⭐**

1. 四个步骤

一个Bean从出生到退休一共分为四个步骤:实例化,属性注入,初始化,销毁

2. 实例化

通过反射根据 Bean 的类生成早期 Bean 对象(未依赖注入,属性为 null)

3. 属性注入

解析 @Autowired、@Resource、@Value 等注解,完成属性注入

4. 初始化

  • 最先执行的是一堆Aware接口,让Bean知道自己是谁,在哪个工厂里
  • 接着执行 BeanPostProcessor 前置处理,也就是执行BeanPostProcessor的before方法(postProcessBeforeInitialization())
  • 然后才轮到Bean自己的初始化逻辑,比如@PostConstruct、afterPropertiesSet或者init-method
  • 最后执行 BeanPostProcessor后置处理,也就是执行BeanPostProcessor的after方法(postProcessAfterInitialization()),AOP动态代理很多就是在这里完成的

5. 销毁

当容器关闭时,Spring会调用@PreDestroy、DisposableBean、destroy-method等帮你释放资源

相关推荐
橙光成长1 小时前
PDF离线工具箱深度解析:4MB纯前端单文件,40+功能全本地运行,文件绝不上传
前端·pdf·1024程序员节
小poop7 小时前
CSS 基础与实战:从入门到精通网页美化
前端
Csvn9 小时前
运行时性能
前端
Never_every9910 小时前
位图转矢量工具哪个好?实测抠抠图AI位图转矢量工具
大数据·前端
paopaokaka_luck10 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
空中湖11 小时前
用 React 写数据大屏:为什么我不建议用图表库
前端·react.js·前端框架
狮子座的男孩12 小时前
html+css基础:25、3D变换(3D空间与景深/透视点的位置/位移/旋转/缩放/多重变换/背部可见性)
css·经验分享·html·旋转·透视点·缩放/位移·3d变换/空间与景深
欣欣之王来了12 小时前
原始HTML插值:v-html指令的使用与安全风险
前端·学习·架构·项目·vue3教程
IT_陈寒12 小时前
Redis的LRU淘汰策略坑了我一整天
前端·人工智能·后端
计算机魔术师12 小时前
砍半价格、参数再涨,国产旗舰追到 Opus 鼻尖了
前端