spring源码分析笔记(3)第三次调用后置处理器的方法:applyMergedBeanDefinitionPostProcessors
个人理解,可能有错误
第三次调用后置处理器的方法:applyMergedBeanDefinitionPostProcessors(mbd, beanType, beanName);
推断构造所在的方法是createBeanInstance(beanName, mbd, args),这个方法后面的方法就是这里探讨的调用后置处理器方法,功能就是找出类里面的方法和参数,用于后面的注入属性
找到所有后置处理器,使用策略模式,循环执行不同后置处理器的方法
org.springframework.context.annotation.CommonAnnotationBeanPostProcessor#postProcessMergedBeanDefinition
1.调用父类的方法,查找所有生命周期回调方法-----初始化(init)和销毁方法(PreDestroy)
2.findResourceMetadata—找出所有的“点”----@Resource注解
3.checkConfigMembers—injectedElements做了一个复制 不知道有什么用
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor#postProcessMergedBeanDefinition
1.findAutowiringMetadata----找出所有需要完成注入的“点”----@Autowried @Value注解方法或者属性—没有构造方法(推断那里已经用过构造方法)
2.checkConfigMembers—injectedElements做了一个复制 不知道有什么用