相信我,你會收藏這篇文章的
本篇文章是這段時間擼出來的Spring源碼解析系列文章的彙總,總共包含如下專題。喜歡的同窗能夠收藏起來以備不時之需git
SpringIOC源碼解析(上)github
ClassPathXmlApplicationContext
,這個容器是咱們在學習Spring的時候最早接觸的一個容器,它負責加載當前環境下的xml配置文件BeanFactory
以及容器中bean的包裝類BeanDefinition
beans
標籤中各個bean
中時將會把這個東東使用BeanDefinition
包裝後註冊到容器中bean
註冊完成後會有一些Spring對BeanFactory
的擴展點的處理conversionService
和EmbeddedValueResolver
兩個比較有意思的東東bean
的初始化singleton
和 prototype
兩個Scope的bean
的處理@Autowired
註解注入屬性的方式SpringIOC源碼解析(基於註解)
閱讀本篇文章以前建議您首先查看上方兩篇文章,由於本篇主要是描述了基於註解的方式和基於xml配置文件方式的異同點spring
bean
容器AnnotationConfigApplicationContext
@ComponentScan
bean
已經加載完後就是bean
的註冊邏輯了相比較與以前兩篇文章的長篇大論,這篇文章的篇幅要少不少,這主要得益於Spring的設計精妙和代碼之優雅segmentfault
@EnableAspectJAutoProxy
註解的原理@EnableAspectJAutoProxy
註解又使用到了@Import
註解,關於@Import
註解的文章下面有地址postProcessBeforeInstantiation
和postProcessAfterInstantiation
兩個方法實現的,這篇文章主講postProcessBeforeInstantiation
postProcessAfterInstantiation
開篇@EnableTransactionManagement
註解的原理解析Spring事務源碼解析(二)獲取加強
讀到這裏的朋友但願您最好對AOP的源碼有必定的瞭解
@Transactional
註解屬性的解析DispatcherServlet
的初始化邏輯源碼閱讀環境
您可能注意到上方文章中包含了不少源碼閱讀環境的搭建,當真正本身要去閱讀時搭建起來仍是比較浪費時間的。因此我把這些工做都替您作好了,您能夠直接訪問下方連接獲取
https://github.com/shiyujun/s...
後續規劃
交流羣
爲了方便你們的交流學習,特地搞了個技術交流羣,有興趣的同窗能夠掃描下方二維碼進羣。如二維碼過時可在公衆號添加小編的微信發送暗號進羣