相信我,你会收藏这篇文章的git
本篇文章是这段时间撸出来的Spring源码解析系列文章的汇总,总共包含如下专题。喜欢的同窗能够收藏起来以备不时之需github
ClassPathXmlApplicationContext
,这个容器是咱们在学习Spring的时候最早接触的一个容器,它负责加载当前环境下的xml配置文件BeanFactory
以及容器中bean的包装类BeanDefinition
beans
标签中各个bean
中时将会把这个东东使用BeanDefinition
包装后注册到容器中bean
注册完成后会有一些Spring对BeanFactory
的扩展点的处理SpringIOC源码解析(下)spring
conversionService
和EmbeddedValueResolver
两个比较有意思的东东bean
的初始化singleton
和 prototype
两个Scope的bean
的处理@Autowired
注解注入属性的方式SpringIOC源码解析(基于注解) 阅读本篇文章以前建议您首先查看上方两篇文章,由于本篇主要是描述了基于注解的方式和基于xml配置文件方式的异同点缓存
bean
容器AnnotationConfigApplicationContext
@ComponentScan
bean
已经加载完后就是bean
的注册逻辑了 相比较与以前两篇文章的长篇大论,这篇文章的篇幅要少不少,这主要得益于Spring的设计精妙和代码之优雅@EnableAspectJAutoProxy
注解的原理@EnableAspectJAutoProxy
注解又使用到了@Import
注解,关于@Import
注解的文章下面有地址postProcessBeforeInstantiation
和postProcessAfterInstantiation
两个方法实现的,这篇文章主讲postProcessBeforeInstantiation
postProcessAfterInstantiation
开篇@EnableTransactionManagement
注解的原理解析Spring事务源码解析(二)获取加强 读到这里的朋友但愿您最好对AOP的源码有必定的了解
@Transactional
注解属性的解析DispatcherServlet
的初始化逻辑源码阅读环境
您可能注意到上方文章中包含了不少源码阅读环境的搭建,当真正本身要去阅读时搭建起来仍是比较浪费时间的。因此我把这些工做都替您作好了,您能够直接访问下方连接获取 https://github.com/shiyujun/spring-framework
后续规划
交流群 为了方便你们的交流学习,特地搞了个技术交流群,有兴趣的同窗能够扫描下方二维码进群。如二维码过时可在公众号添加小编的微信发送暗号进群