iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

30 篇淺談 Spring 框架的核心底層組件 系列

這系列圍繞著 Spring Framework、Spring MVC 與 Spring Boot 的底層機制打轉,用 Spring Boot 3.3.3 的原始碼作為主軸,帶大家看看 IoC 容器、AOP、組件掃描到請求分派 ...等這些每天都在用的東西,背後到底是怎麼被組裝起來的。

參賽天數 8 天 | 共 8 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文 團隊AI的I,是I人的I
DAY 1

Day 1. 前言

開始工作以後,陸陸續續寫了幾年的程式,Spring boot 幾乎可以說是每位 Java 開發者都會碰到的後端框架。其實從很早以前,就有「想要了解 Spring...

2026-09-15 ‧ 由 Pax 分享
DAY 2

Day 2. BeanDefinition —— 生成 Bean 之前的準備工作

我們都知道啟動一個 Spring 的系統之後,Java 會將帶有 @Controller, @Service ...等 @Component 註解的類別,轉換為...

2026-09-16 ‧ 由 Pax 分享
DAY 3

Day 03: BeanDefinitionRegistry —— BeanDefinition 的存儲與取得方式

在 Spring 的框架裡面,如果我們想要將一份 Java 檔案轉變成 Spring 裡一筆可被使用的 BD 元資料,以宏觀的角度來看,我們大抵需要 3 個 S...

2026-09-17 ‧ 由 Pax 分享
DAY 4

Day 04: BeanFactory—— Bean 的創建週期和取得方式

今天來看 Spring 是怎麼把 BD 轉換成 Bean 物件的。 BeanFactory 顧名思義,是負責取得 Bean 的工廠組件。在定義上,BeanFac...

2026-09-18 ‧ 由 Pax 分享
DAY 5

Day 05: DefaultSingletonBeanRegistry —— 三層快取的循環依賴解決方法

循環依賴的寫法在真實場景中非常常見。像「『訂單』依賴『支付』進行加扣款、『支付』依賴『訂單』進行操作回報。」為了達成上述的邏輯,在 Order-Service...

2026-09-19 ‧ 由 Pax 分享
DAY 6

Day 06: BeanPostProcessor —— Bean 初始化前後的擴充與處理機制

今天來講講這幾天陸續有提到的 BPP。BPP 的全名叫做 BeanPostProcessor,中文直翻的話,可以把它稱作 Bean 的後置處理器。最原始的設計用...

2026-09-20 ‧ 由 Pax 分享
DAY 7

Day 07: BeanFactoryPostProcessor —— BeanDefinition 的修改與客製化機制

昨天我們有講到,相對於「整條流水線」的基礎架構,BPP 更專注在 Bean 創建過程中的相關細節。今天我們就回過頭來,簡單認識 Spring 框架裡 Bean-...

2026-09-21 ‧ 由 Pax 分享
DAY 8

Day 08: ApplicationContext —— 容器啟動的核心樞紐與流程解析

ApplicationContext(後面簡稱 context)是 Spring 裡面的 IoC 容器。有時候在網路上看到「上下文、Spring 上下文、应用上...

2026-09-22 ‧ 由 Pax 分享