这些是我看springboot原理分析的相关视频时写的笔记,后续会完善,先和大家分享分享
jsr 250 @Resource
jsr 330 @Inject
初始化applicationContext的三种方式:
1.spring的注解 @Autowire
2.构造函数,将applicationContext作为唯一的构造函数参数(spring4.3的新特性)
3.implement ApplicationContextAware接口 重写方法
bean初始化回调:
实现BeanPostProcesser需要重写的两个方法:(作用:会在每个bean初始化时候调用一次)
PostProcesserBeforeInitialization() //在bean依赖装配完成之后(set属性设置完)触发,这里可以对bean处理,比如返回代理对象
PostProcesserAfterInitialization() //是在init方法执行之后触发
@Bean(iniMethod=init)这个init()方法会在上述两个方法的中间
只在容器初始化后触发执行一次,但比BeanPostProcesser触发早
BeanFactoryPostProcesser需要重写一个方法:
postProcesserBeanFactory()
BeanFactoryPostProcesser的一个子类 BeanDefinitionRegistryPostProcesser其下有一个方法:
void postProcesserBeanDefinitionRegistry( BeanDefinitionRegistry registry)