注:该spring源码系列并不是一个完整的源码系列,只有几个作者本文比较关注的并进行深入研究的知识点。
零、高频面试题
- BeanFactory和FactoryBean
- spring的循环依赖及三级缓存
- BeanFactoryPostProcessor和BeanPostProcessor
- Bean的生命周期
详见:Spring 面试知识点:https://blog.csdn.net/bintoYu/article/details/104405178
一、spring framework
0 进一步了解spring体系
为了让大家对spring体系有着更好的认识,在这里推荐大家阅读知乎的大神bravo1988的一篇关于spring的文章,这篇文章很生动具体,可以说是让我茅塞顿开:
传送门:怎么回答面试官:你对Spring的理解?
1 spring 源码系列(一)- BeanDefinition及注册
spring 源码系列(一)- BeanDefinition及注册
2 spring 源码系列(二) 元数据metadata
3 spring 源码系列(三)- PropertySource和Environment
spring 源码系列(三)- PropertySource和Environment
4 spring 源码系列(四)- AnnotationConfigApplicationContext
spring 源码系列(四)- AnnotationConfigApplicationContext
5 spring 源码系列(五)- 最重要的后置处理器ConfigurationClassPostProcessor
spring 源码系列(五)- 最重要的后置处理器ConfigurationClassPostProcessor
6 spring 源码系列(六)- 处理@AutoWired和@Value的后置处理器AutowiredAnnotationBeanPostProcessor
spring 源码系列(六)- 处理@AutoWired和@Value的后置处理器AutowiredAnnotationBeanPostProcessor
7 BeanFactoryPostProcessor和BeanPostProcessor
这一部分可以阅读“江南好风景”的博客,传送门:
https://blog.csdn.net/caihaijiang/article/details/35552859
8 spring IOC:refresh()方法 (最重要,但也很长)
spring 源码系列(七) 最重要的refresh()方法
二、 springboot
TODO
三、spring MVC
主要流程是:
处理器映射器(请求查找handler) --> 处理器适配器(执行action,返回modelandview) --> 试图解析器(解析成view) --> view层(渲染) -->用户
源码传送门:
四、spring session
传送门:spring session:https://blog.csdn.net/bintoYu/article/details/104160293
五、策略模式的使用
- 使用策略模式实例化
- spring session使用了适配器Adapter模式。