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等帮你释放资源

相关推荐
JustHappy1 小时前
古法编程秘籍(二):什么是代码模块化?别背概念,把房间收拾明白就够了
前端·后端
小江的记录本1 小时前
【JVM虚拟机】堆内存分代模型:年轻代(Eden+Survivor)、老年代、元空间Metaspace(附《思维导图》+《面试高频考点清单》)
java·前端·jvm·后端·python·spring·面试
weixin_471383032 小时前
图片预解码缓存
前端·浏览器缓存·图片预解码
郑洁文3 小时前
基于网络爬虫的Web敏感信息泄露自动化检测工具
前端·爬虫·网络安全·自动化
郑洁文4 小时前
可视化Web渗透分析工具的设计与实现
前端
罗超驿4 小时前
18.Web API 实战:元素与表单属性的获取和修改
开发语言·前端·javascript
边界条件╝4 小时前
微前端进阶(四)
前端·状态模式
无风听海4 小时前
JSON Web Token(JWT)完全指南
java·前端·json
IT_陈寒5 小时前
Python闭包里藏的这个坑,差点让我加班到凌晨
前端·人工智能·后端
IT_陈寒5 小时前
Java注解空指针?这个坑我踩得莫名其妙
前端·人工智能·后端