内置后置处理器要理解的问题
1.beanfactorypostProcessor调用过程
2.配置类解析过程
3.配置类@Configuration与component的区别
4.重复beanName覆盖原则
5.@ComponentScan的解析原理
6.beanDefinition的详解
首先解答一下上面的问题
- 针对问题3 配置类@Configuration与component的区别
加了@Configuration的类,是输入full类,不加输入lite,full类会使用cglib进行动态代理,那么内存中这个bean只会有一个,普通的lite每次创建都会重新创建一次。具体可以看
看下一个问题 重复beanName覆盖原则:重名覆盖,这个主要是俩个地方声明bean,一个地方@Component,一个地方通过@Bean
下面是看代码的主流程
回到refresh看下一个方法
一个接口,没看到有啥特殊的实现
关注一下ConfigurableListableBeanFactory的继承实现关系
这个图可以用idea 看,操作方式如下
继续看PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors
不会,我可以学;落后,我可以追赶;跌倒,我可以站起来!