開篇想法
接下來是打算來總結關於Spring內部運行流程的機制。在工作中,筆者之前更多的是關於Spring Boot關於Web間的開發,那麼Spring內部黑盒是如何實現的,又是如何與其他組件進行關聯的,這些對我而言既神祕又充滿誘惑力,顧打算先從Spring入手,一步步把Spring全家桶的基本原理摸清楚,知其所以然,可以更好的擴展業務開發需求。
切入口
本系列打算以註解配置下進行切入,主要原因是配置註解相對比較簡單方便,並且在目前Spring Boot的橫行的情況下,基本都是使用註解配置。
閱讀準備
本文的源碼閱讀是基於Spring-5.1.9版本,要做的準備也比較簡單,只需在pom下引入:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
即可,我們是通過測試方法一起結合進行講解的。
今日目標
今天第一天,主要是混個臉熟。我們先看下關於註解配置下的註解有哪些。下面我列舉下我所瞭解並常用的註解。簡單的劃分一下:
配置類上的註解
- @ComponentScan 、@ComponentScans
- @Import、@ImportResource
配置類中方法的註解
- @Bean
- @Scope
- @Lazy
- @Primary
其他常用註解
- @Service、@Component
- @Autowired
- @Conditional
大致是這些,肯定會有遺漏,但無傷大雅,之後如發現會繼續補充。
今日總結
今天其實啥乾貨都沒有,主要還是用來給自己立了一個Flag,如果有同學最近也想看關於Spring的內部黑盒運行模式,可以持續關注我一下~ 最後給自己鼓個勁~