前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Bean的生命周期

Spring Bean的生命周期

原创
作者头像
无花大师
发布2023-04-24 22:59:16
2570
发布2023-04-24 22:59:16
举报
文章被收录于专栏:无花大师的Java无花大师的Java

经常面试的时候,会有人问Bean生命周期相关的问题,下面给大家讲一下啦!

当Spring容器创建一个Bean实例时,这个Bean对象的生命周期将经历以下几个阶段:

IDEA的使用教程和激活码都放到了 👉 腾讯文档了

实例化 (Instantiation):

当Spring容器接收到要创建Bean的请求时,会利用 Java 反射机制实例化一个新的Bean对象。

属性赋值 (Populate Properties):

在实例化Bean对象之后,Spring容器将把Bean定义中的属性值和对其他Bean的引用注入到Bean实例中。

BeanPostProcessor前置处理(Before initialization):

如果Bean实现了BeanPostProcessor接口,则在初始化方法调用前执行。它提供了在bean实例化和依赖项解析完成之后、初始化方法开始调用之前添加某些自定义行为的机会。

初始化 (Initialization):

然后,Spring容器调用 Bean 的初始化方法,可以通过指定init-method属性来指定初始化方法。

BeanPostProcessor后置处理(After initialization):

如果Bean实现了BeanPostProcessor接口,则在初始化方法调用后执行。它提供了在bean实例化和依赖项解析完成之后、初始化方法开始调用之前添加某些自定义行为的机会。

使用 (In Use):

经过初始化的Bean可以被应用程序使用。

销毁(Destroy):

当Spring容器关闭时或者从容器中移除该Bean实例时,Spring容器会调用Bean对象的销毁方法,可以通过指定destroy-method属性来指定销毁方法。

总结一下 :

实例化 (Instantiation) -> 属性赋值 (Populate Properties) ->BeanPostProcessor前置处理(Before initialization)-> 初始化 (Initialization) -> BeanPostProcessor后置处理(After initialization)->使用 (In Use) ->销毁(Destroy)

了解Spring Bean的生命周期可以帮助我们更好地理解和使用Spring框架,并编写出更健壮且高效的应用程序。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实例化 (Instantiation):
  • 属性赋值 (Populate Properties):
  • BeanPostProcessor前置处理(Before initialization):
  • 初始化 (Initialization):
  • BeanPostProcessor后置处理(After initialization):
  • 使用 (In Use):
  • 销毁(Destroy):
  • 总结一下 :
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档