第九章-Spring Bean 生命周期

Spring Bean 元信息解析阶段

面向资源 BeanDefinition 解

  • BeanDefinitionReader
  • XML 解析器 - BeanDefinitionParser

面向注解 BeanDefinition 解析

  • AnnotatedBeanDefinitionReader

Spring Bean 注册阶段

BeanDefinition 注册接口

  • BeanDefinitionRegistry

Spring BeanDefinition 合并阶段

BeanDefinition 合并

  • 父子 BeanDefinition 合并
  • 当前 BeanFactory 查找
  • 层次性 BeanFactory 查找

Spring Bean Class 加载阶段

  • ClassLoader 类加载
  • Java Security 安全控制
  • ConfigurableBeanFactory 临时 ClassLoader

Spring Bean 实例化阶段

传统实例化方式

  • 实例化策略 - InstantiationStrategy

构造器依赖注入

Spring Bean 实例化前阶段

非主流生命周期 - Bean 实例化前阶段

  • InstantiationAwareBeanPostProcessor#postProcessBeforeInstantiation

Spring Bean 实例化后阶段

Bean 属性赋值(Populate)判断

  • InstantiationAwareBeanPostProcessor#postProcessAfterInstantiation

Spring Bean Aware 接口回调阶段

Spring Aware 接口

  • BeanNameAware
  • BeanClassLoaderAware
  • BeanFactoryAware
  • EnvironmentAware
  • EmbeddedValueResolverAware
  • ResourceLoaderAware
  • ApplicationEventPublisherAware
  • MessageSourceAware
  • ApplicationContextAware

Spring Bean 初始化前阶段

已完成

  • Bean 实例化
  • Bean 属性赋值
  • Bean Aware 接口回调

方法回调

  • BeanPostProcessor#postProcessBeforeInitialization

Spring Bean 初始化阶段

Bean 初始化(Initialization) • @PostConstruct 标注方法

  • 实现 InitializingBean 接口的 afterPropertiesSet() 方法
  • 自定义初始化方法

Spring Bean 初始化后阶段

方法回调

  • BeanPostProcessor#postProcessAfterInitialization

Spring Bean 销毁前阶段

方法回调

  • DestructionAwareBeanPostProcessor#postProcessBeforeDestruction

Spring Bean 销毁阶段

  • Bean 销毁(Destroy) • @PreDestroy 标注方法
  • 实现 DisposableBean 接口的 destroy() 方法
  • 自定义销毁方法

Spring Bean 垃圾收集

  • Bean 垃圾回收(GC) • 关闭 Spring 容器(应用上下文)
  • 执行 GC
  • Spring Bean 覆盖的 finalize() 方法被回调
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值