经常面试的时候,会有人问Bean生命周期相关的问题,下面给大家讲一下啦!
当Spring容器创建一个Bean实例时,这个Bean对象的生命周期将经历以下几个阶段:
IDEA的使用教程和激活码都放到了 👉 腾讯文档了
当Spring容器接收到要创建Bean的请求时,会利用 Java 反射机制实例化一个新的Bean对象。
在实例化Bean对象之后,Spring容器将把Bean定义中的属性值和对其他Bean的引用注入到Bean实例中。
如果Bean实现了BeanPostProcessor接口,则在初始化方法调用前执行。它提供了在bean实例化和依赖项解析完成之后、初始化方法开始调用之前添加某些自定义行为的机会。
然后,Spring容器调用 Bean 的初始化方法,可以通过指定init-method属性来指定初始化方法。
如果Bean实现了BeanPostProcessor接口,则在初始化方法调用后执行。它提供了在bean实例化和依赖项解析完成之后、初始化方法开始调用之前添加某些自定义行为的机会。
经过初始化的Bean可以被应用程序使用。
当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 删除。