学习:简要总结 Spring bean 的生命周期

Spring Bean生命周期

一、Bean对象实例化

  1. 调用有参构造函数
    使用构造注入

  2. 调用无参构造函数
    使用设值注入

二、对象初始化

  1. 检查Aware接口 , 调用bean实现的相关方法。通过此接口可以让类感知到spring的某些属性
    常用的接口有:
接口名称作用
ApplicationContextAware获取spring 上下文环境的对象
BeanNameAware获取该bean在BeanFactory配置中的名字
ServletContextAware获取servletContext容器
BeanFactoryAware创建它的BeanFactory实例
ResourceLoaderAware获取ResourceLoader对象,通过它获得各种资源
  1. 检查配置文件中是否存在已注册的bean,实现了BeanPostProcessor接口,调用其前置方法,执行相应逻辑:
方法名作用
postProcessBeforeInitialization实例化、依赖注入完毕,在调用显示的初始化之前完成一些定制的初始化任务
  1. 检查初始化(InitializingBean)接口,调用方法afterPropertiesSet()方法
方法名作用
afterPropertiesSet执行Bean初始化逻辑
  1. 检查配置文件中,bean标签的init-method属性,该属性值是类中的自定义的初始化方法,在该方法中执行初始化逻辑。

  2. 检查配置文件中是否存在已注册的bean,实现了BeanPostProcessor接口,调用其后置方法,执行相应逻辑:

方法名作用
postProcessAfterInitialization实例化、依赖注入、初始化完毕时执行

三、销毁

  1. 检查DisposableBean接口,调用其销毁方法,执行相应销毁逻辑
方法名作用
destroy多例对象被jvm垃圾回收时、单例工厂销毁时调用
  1. 检查配置文件中,bean标签的destroy-method属性,该属性值是类中的自定义的销毁方法,在该方法中执行销毁逻辑。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值