8、Spring源码之@PostConstruct 、@PreDestroy

 问题抛出:

我们开发过程中、我们经常会通过@PostConstruct注解初始化一些缓存数据、但是你知道Spring什么会调用被@PostConstruct修饰方法嘛?

在所有的依赖注入完成之后、会执行被@PostConstruct修饰的方法。一般用于业务数据的初始化工作


继承结构:

如上图  CommonAnnotationBeanPostProcessor这个类就是处理@PostConstruct、@PreDestroy、@Resource、这些jdk注解。

总结:

因为上一篇介绍过 @Autowired源码AutowiredAnnotationBeanPostProcessor的处理@Autowired注解、逻辑思路基本一致 、看懂@Autowired的处理逻辑 这个一定知道Spring怎么处理的,这里不在赘述。

但是要注意:
处理   @Resouce 和 @PostConstruct @PreDestory 获取缓存元数据是一个地方 即:
即:applyMergedBeanDefinitionBeanPostProcessors

但是:
①注解@Resource修饰属性的赋值操作 是给属性赋值阶段执行父类的postProcessProperties
②注解@PostConstruct 是在初始化Bean阶段, BPP的postProcessBeforeInitialization方法完成调用修饰的方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值