对于spring认识首先要了解 spring相关概念术语,然后是如下的几句话牢记并反射出来:
- Bean怎么来的,通过BeanDefinition
- BeanDefinition有Spring框架内置的,有手动定义或者自动配置扫描出来的(写个Demo工程)
- BeanFactoryPostProcessor可干预BeanDefinition,BeanPostProcessor可干预Bean的生命周期
- aop怎么实现?Bean代理怎么来的?显然是通过某个BeanPostProcessor干预得到的代理对象
另外:最重要的debug观察,网上文章视频很多,还是要实践出真知
可以顺着如下系列文章阅读
- 写一个AnnotationConfigApplicationContext demo并走读代码,参考阅读:AnnotationConfigApplicationContext流程看@Configuration,@ComponentScan,@Import等的处理
- AnnotationConfigApplicationContext流程看实例化的beanPostProcessor
- Spring @Bean 相同,加载顺序不同结果不同
- aware知识点
-
知道了Bean生命周期和实例化出来的BeanPostProcessor,可以看下具体的某个BeanPostProcessor如何作用的了
-
循环依赖分析:
-
Spring bean加载的顺序问题
FactoryBean到spring-mybatis的@MapperScan实现
spring 事件监听机制
事务问题
spring-boot & spring-mvc