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 小时前
区块链与智能合约安全实战:从Solidity审计到DeFi漏洞深度剖析
运维·前端·网络·安全·自动化·区块链·智能合约
念何架构之路1 小时前
Gin响应渲染
前端·javascript·gin
invicinble1 小时前
设计网站的底层思路(深刻版本)
前端
三8441 小时前
WordPress REST API 参数校验机制剖析:为什么 author__not_in 无法直接盲注?
服务器·前端·数据库
ITmaster07311 小时前
Vibe Coding 时代:Vue 消失了还是 React 太强?
前端·vue.js·react.js
WebInfra2 小时前
Rspack 2.2 发布:30+ 项性能优化,拥抱 Solid 2.0
前端·javascript·前端框架
额额额对了2 小时前
Linux 进程管理详解:从概念到实战
java·服务器·前端
fatcoder2 小时前
玩转 Redis · Set 篇
前端·redis·后端
爱喝麻油的小哆2 小时前
🐾 Day 5|桌面数字人-接入llm可以对话啦
前端·three.js
我叫黑大帅2 小时前
关于没有对生产者做校验的思考
前端·面试·架构