【深入理解Spring系列1】自动装配Bean初始化

4种自动装配(注入)模型

  • @Autowired
  • @Resource
  1. no: AUTOWIRE_NO(NO,不使用自动转配)
  2. byName:AUTOWIRE_BY_NAME
  3. byType: AUTOWIRE_BY_TYPE
  4. byConstructor: AUTOWIRE_CONSTRUCTOR

2种注入方式

注入方式可以理解成寻找Bean方式

  1. byType
  2. byName

7个后置处理器

  1. AutowiredAnnotationBeanPostProcessor
  2. CommonAnnotationBeanPostProcessor

Bean生命周期里的回调

Bean生命周期里的回调
lifeCycle Callback

实现接口InitializingBean

  1. xml配置 initial-method A
  2. 实现initializingBean接口 B
  3. 注解@PostConstruct C

三种方法先后顺序
C->B->A

Spring初始化方法

一个后置处理器,2个初始化方法。
执行构造方法后,

  • callback
  1. Spring一个对象被Spring实例化后就执行某些逻辑。
  2. 当Spring容器初始化完成后立马执行,使用SmartLifeCycle

问题:Spring中属性注入和和初始化方法 @PostConstruct 谁先执行?
回答:属性注入先执行。