Spring Bean的初始化过程

1.创建容器。
2.反射调用构造器创建实体(此时该实体还不是bean)。
3.Spring会识别被配置成bean的信息,扫描注解的包。把实体对应的类信息封闭成一个BeanDefinition对象,会把这些BeanDefinition对象放入到一个Map中。会根据配置判断是否是单例,如果是单例,会放到单例池。再进行验证,最后进入依赖注入。
4.set方法。
5.(如果实现了BeanNameAware接口),就会调用setBeanName方法。
6.(如果实现了BeanFactoryAware接口),就会调用setBeanFactory方法。
7.(如果有后置处理器),就会执行postProcessBeforeInitialization方法。
8.(如果实现了InitializingBean接口),就会调用 afterPropertiesSet 方法。
9.(如果配置了init-method属性或者标记了@PostConscutor注解),就会执行其对应的方法。
10.(如果有后置处理器),执行后置处理器的postProcessAfterInitialization方法。
11.使用Bean。
12.(如果配置了destroy-method属性或者标记了@PreDestroy注解),就会执行其对应的方法。
13.(如果实现了Destroyable接口),就会调用destroy方法。(和12你死我活)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值