1. 為什么要學(xué)習(xí)Spring?
核心模塊-core
- JavaEE中座掘,為了解決復(fù)雜的業(yè)務(wù)對(duì)象之間的依賴(lài)問(wèn)題揩环,Spring將IoC(Inversion of Control)思想進(jìn)行了落地,提供了
Spring IoC Container
. - 提供了面向切面編程框架-
Spring AOP
,對(duì)OOP
進(jìn)行補(bǔ)充.
不僅如此,Spring還提供了:
- 應(yīng)用程序中的資源訪(fǎng)問(wèn)體系-
Resources
. - 事件監(jiān)聽(tīng)器模式支持-
Events
. - 國(guó)際化-
i18n
. - 校驗(yàn)器-
Validation
. - Spring的EL表達(dá)式-
SpEL
.
...
可以說(shuō)他爸,Spring基本提供了JavaEE所需要的基本框架,更加詳細(xì)的介紹可以訪(fǎng)問(wèn)Spring官網(wǎng).
Spring讓編寫(xiě)JavaEE程序變得更加簡(jiǎn)單.
Spring提供了一系列關(guān)于Java Web的解決方案
- Servlet API-
Spring Web MVC
. - 安全-
Spring Security
. - 數(shù)據(jù)層訪(fǎng)問(wèn)-
Spring Data
. - 云原生支持-
Spring Cloud
. - 消息隊(duì)列-
Spring AMQP
. - 響應(yīng)式編程-
Spring WebFlux
- 自動(dòng)化裝配-
Spring Boot
.
要學(xué)習(xí)上面的知識(shí)缩功,你需要學(xué)好Spring.
2. 博客源碼解讀計(jì)劃
我是一個(gè)Java開(kāi)發(fā)工程師层扶,目前正在使用Spring開(kāi)發(fā)Java應(yīng)用程序.本博客會(huì)分享Spring系列相關(guān)的一些知識(shí).為了讓讀者更好地按序閱讀文章,此文章作為目錄來(lái)幫你檢索到具體的文章地址.
以下是我發(fā)布的文章,以后的更新我也會(huì)將鏈接放置到下面的鏈接中.
如果覺(jué)得文章不錯(cuò)烙荷,希望你給予點(diǎn)贊支持.感激不盡.
關(guān)于平臺(tái)的說(shuō)明
鏈接前綴代表博客平臺(tái):
例如:
jianshu-簡(jiǎn)書(shū).
juejin-掘金.
平臺(tái)間的內(nèi)容幾乎一致.
2.1 Spring IoC
2.1.1 Spring IoC編程思想
-
淺談IOC編程思想
jianshu:淺談IOC編程思想
2.1.2 下載源碼以及編譯
-
Spring源碼(一)實(shí)例化容器的兩種方式
jianshu:Spring源碼(一)實(shí)例化容器的兩種方式
2.1.3 Bean的定義-BeanDefiniton
-
Bean與BeanDefinition
jianshu:Bean與BeanDefinition
juejin:Bean的定義-BeanDefinition -
了解Spring的BeanDefinition體系
jianshu:RootBeanDefinition镜会、GenericBeanDefinition、ChildBeanDefinition
juejin:了解Spring的BeanDefinition體系
2.1.4 Spring容器
-
Spring中的內(nèi)部容器-BeanFactory
jianshu:淺談BeanFactory
juejin:Spring中的內(nèi)部容器-BeanFactory -
Spring容器-ApplicationContext
jianshu:淺談ApplicationContext
juejin:Spring容器-ApplicationContext -
Aware接口是什么?
jianshu:Spring的Aware接口-裝配
juejin:Spring的Aware接口-裝配 -
后置處理器-PostProcessor
jianshu:Spring的PostProcessor-后置處理器
juejin:Spring的PostProcessor-后置處理器 -
Spring中的事件-Events
jianshu:詳解Spring中的事件監(jiān)聽(tīng)器模式
juejin:Spring中的事件監(jiān)聽(tīng)器模式
2.1.5 資源定位與加載
-
Spring的Resources體系
jianshu:淺談Spring的Resources體系
juejin:Spring的Resources體系 -
Spring如何定位加載BeanDefinition-BeanDefinitionReader
XML:
jianshu:BeanDefinitionReader-將xml解析到BeanDefinition的執(zhí)行者
juejin:BeanDefinitionReader-將xml解析到BeanDefinition的執(zhí)行者
注解:
jianshu:基于注解的AnnotationConfigApplicationContext組件掃描過(guò)程
juejin:Spring基于注解容器組件掃描過(guò)程 -
注冊(cè)BeanDefinition-BeanDefinitionRegistry
jianshu:BeanDefinitionRegistry-BeanDefinition注冊(cè)
juejin:BeanDefinitionRegistry-BeanDefinition注冊(cè)
2.1.6 refresh
-
容器刷新時(shí)發(fā)生了什么?
jianshu:容器上下文的refresh概述.
juejin:容器上下文的refresh概述.
2.1.7 依賴(lài)注入-DI
-
依賴(lài)注入的總體流程
jianshu:DI-Spring的依賴(lài)注入淺析
juejin:Spring的依賴(lài)注入淺析-DI -
Spring的getBean路線(xiàn)-doGetBean
jianshu:Spring的getBean路線(xiàn)-doGetBean
juejin:Spring的getBean路線(xiàn)-doGetBean -
Spring的getBean路線(xiàn)-createBean
jianshu:Spring的getBean路線(xiàn)-createBean
juejin:Spring的getBean路線(xiàn)-createBean -
Spring的getBean路線(xiàn)-doCreateBean
jianshu:Spring的getBean路線(xiàn)-doCreateBean
juejin:Spring的getBean路線(xiàn)-doCreateBean -
Spring是如何做Bean屬性填充的(@Autowired原理解析)-populateBean
jianshu:Spring是如何做Bean屬性填充的-populateBean
juejin:Spring是如何做Bean屬性填充的(@Autowired原理解析)-populateBean -
影響Spring Bean生命周期的BeanPostProcessor
jianshu:影響Spring Bean生命周期的BeanPostProcessor
juejin:影響Spring Bean生命周期的BeanPostProcessor
2.2 Spring AOP
2.2.1 AOP源碼前置-概念與基本原理
-
Spring AOP是什么?怎么用?
jianshu:Spring AOP基本概念介紹與入門(mén)
juejin:Spring AOP基本概念介紹與入門(mén) -
Spring實(shí)現(xiàn)AOP代理的原理是什么?
jianshu:Spring AOP代理原理-JDK動(dòng)態(tài)代理和CGLIB代理
juejin:Spring AOP代理原理-JDK動(dòng)態(tài)代理和CGLIB代理
2.2.2 剖析Spring AOP源碼
-
@EnableAspectJAutoProxy原理解析
jianshu:@EnableAspectJAutoProxy原理解析
juejin:@EnableAspectJAutoProxy原理解析 -
AnnotationAwareAspectJAutoProxyCreator-@AspectJ的解析器
jianshu:AnnotationAwareAspectJAutoProxyCreator-@AspectJ的解析器
juejin:AnnotationAwareAspectJAutoProxyCreator-@AspectJ的解析器 -
Spring AOP如何匹配合適的Advisor-getAdvicesAndAdvisorsForBean
jianshu:AOP如何匹配合適的Advisor-getAdvicesAndAdvisorsForBean
juejin:AOP如何匹配合適的Advisor-getAdvicesAndAdvisorsForBean -
Spring AOP創(chuàng)建動(dòng)態(tài)代理的過(guò)程
jianshu:Spring AOP創(chuàng)建動(dòng)態(tài)代理的過(guò)程
juejin:Spring AOP創(chuàng)建動(dòng)態(tài)代理的過(guò)程
2.2.3 剖析Spring MVC源碼
-
Spring MVC與Servlet標(biāo)準(zhǔn)及總體設(shè)計(jì)思想
jianshu:Spring MVC與Servlet標(biāo)準(zhǔn)及總體設(shè)計(jì)思想
juejin:Spring MVC與Servlet標(biāo)準(zhǔn)及總體設(shè)計(jì)思想 -
HandlerMapping的初始化
jianshu:HandlerMapping的初始化 -
Spring MVC是如何處理請(qǐng)求的
jianshu:Spring MVC是如何處理請(qǐng)求的