TOP
紅利積點抵現金,消費購書更貼心
Spring Boot技術內幕:架構設計與實現原理(簡體書)
滿額折

Spring Boot技術內幕:架構設計與實現原理(簡體書)

商品資訊

人民幣定價:79 元
定價
:NT$ 474 元
優惠價
87412
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點:12 點
商品簡介
作者簡介
名人/編輯推薦
目次

商品簡介

這是一本從源碼角度分析Spring Boot底層原理和實現方式,以求説明讀者掌握Spring Boot多場景聯合運用、項目性能調優的實踐指導書。作者是Spring Boot領域的佈道者、技術專家,曾以視頻、文章等形式分享自己多年實踐及研究Spring Boot的經驗,影響近50萬該領域的讀者。

本書以新版本的Spring Boot 2.x的源碼為基礎進行分析,不僅提煉出了Spring Boot源碼的核心思想,還從多個維度對Spring Boot框架中的數十個主流功能模組進行了源碼級的分析,更為難能可貴的是,書中還對Spring Boot外置輔助工具進行了源碼級的分析。此外,為了指導讀者實踐應用,本書除了在各章相關部分給出實踐方法外,還以用獨立章節以實際案例的形式進行專門指導。


本書從邏輯上可分為4個部分:

第①部分準備部分,包括第1章,這部分主要介紹進行Spring Boot解析需要做的準備工作,包括源碼的獲取與調試、源碼閱讀工具等,同時還給出了需要在思想層面做的準備——整體瞭解源碼目錄結構和Spring Boot設計思想。

第②部分為原理部分,包含第2~4章內容,著重講解Spring Boot實現的原理及基本流程,這是Spring Boot的核心之一,也是後面章節的基礎。

第③部分為內建群組件部分,包含第5~12章,著重講解Spring Boot內置集成框架的實現原理、原始程式碼分析及實戰分析,其中包括對外化配置、web應用、內置servlet容器、資料庫、訊息源、緩存、日誌進行的源碼級的分析和實踐運用指導。

第④部分為外置元件部分,包含第13~16章,著重講解實際項目實施過程中肯定會用到的單元測試、打包、部署、監控等相關外置輔助工具,這部分不僅介紹了相關工具的集成方法,還從源碼角度進行了詳細解析。


作者簡介

朱智勝

Spring Boot的佈道者、技術專家,暢銷書作者,技術專欄作者,國內知名技術論壇博客專家,現任某跨境支付公司技術負責人。

精通Spring Boot框架及其原始程式碼,具有多年的Spring Boot框架使用經驗。曾基於Spring Boot搭建風控反洗錢系統,支援1.5億使用者及3000億交易的風控反洗錢資料處理。

精通Java語言,擅長Spring系列框架的使用,對其源碼進行過深入研究,擁有10餘年Java開發經驗。

樂於分享,曾自主錄製多套暢銷技術視頻教程,累計播放超2萬人次。通過微信公眾號分享的Spring Boot源碼解析系列文章,累計閱讀量達30萬人次,廣受讀者好評。


名人/編輯推薦

適讀人群 :●Spring Boot的使用者和愛好者。 ●Spring系列框架的使用者和愛好者。 ●對源碼感興趣,希望學習源碼解析相關方法的技術人員。 ●開設Spring Boot相關課程的院校師生。

(1)本書由Spring Boot佈道師、技術專家撰寫,從源碼級切入,以指導實踐為宗旨,可謂深度和實操性兼具。

(2)本書以【Spring Boot 2.x】版本的源碼為基礎,不僅提煉出了Spring Boot源碼的核心思想,還對Spring Boot框架中的數十個主流功能模組進行了源碼級的分析。

(3)本書在各章相關部分都給出實踐指導,還以用獨立章節以實際案例的形式對實踐應用進行專門指導。


【為什麼要寫這本書】

經過幾年的發展,Spring Boot幾乎已成為Java企業級開發的標準框架,它為開發人員提供了極其方便的項目框架搭建、軟件集成功能,極大地提升了開發人員的工作效率,減少了企業的運營成本。而Spring Boot又極其簡單易用,一個新手按照官方文檔的指導在十幾分鐘內就能創建一個可運行的Spring Boot項目。

Spring Boot的研發團隊實現了用軟件改變世界的夢想,實現了另外一種形式的創新。有句話說得非常好:“世界上90%的行業都值得重做一遍,當你把它們做到極致時,那便是創新。”Spring Boot做到了這一點,也得到了市場和用戶的認可。

Spring Boot為開發人員提供了方便,但一些開發人員並不瞭解Spring Boot為什麼可以帶來方便的底層邏輯,也沒有嘗試借鑒Spring Boot的這種創新。這不僅會導致他們在使用Spring Boot的過程中不能深層次發揮它的優勢,還會導致在大範圍應用Spring Boot之後出現各種問題卻找不到解決辦法的情況,更別說借鑒Spring Boot的創新了。

作為軟件發展人員,我們都知道設計模式很重要。為什麼重要呢?因為這些設計模式是解決程序設計過程中一些典型問題的標準方法,已經被驗證和認可。學習了這些解決方案,在遇到類似的問題時,軟件發展人員便不用“重複造輪子”,直接借鑒經驗即可。

當然,如果在使用Spring Boot的過程中只是簡單地“用”,而不去思考其背後的實現邏輯與思想,即便用得再好,收穫也是有限的—這樣只能做到“手熟”,並不能擁有“匠心”。更重要的是,如果不學習Spring Boot背後那些優秀的設計理念和實現方式,我們肯定不能真正用好Spring Boot。

學習Spring Boot的設計理念和實現方式除了能夠讓開發人員從“手熟”的境界跨入“匠心”的境界,還能夠讓開發人員在其他業務場景中觸類旁通地找到更加優秀的解決方案。同時,開發人員也能夠瞭解代碼和項目背後的深層邏輯,這會為以後的工作帶來諸多好處。

因此,我在使用Spring Boot的過程中並未停留在“用”的層面,而是不斷地研究、總結其原始程式碼,發掘背後的優秀設計理念及實現方式。現在,我通過這本書將研究的一些方法和成果分享給大家。

技術在不斷地快速反覆運算,但核心邏輯是永遠不會變的,希望讀者在閱讀本書的同時,也關注分析原始程式碼的方法和思路。“授之以魚,不如授之以漁”,如果讀者能夠通過閱讀本書,理解了Spring Boot背後的設計理念和實現方式,甚至尋找到更加優秀的解決方案,那將是我最大的欣慰。

【讀者物件】

●Spring Boot的使用者和愛好者。

●Spring系列框架的使用者和愛好者。

●對源碼感興趣,希望學習源碼解析相關方法的技術人員。

●開設Spring Boot相關課程的院校師生。

【本書特色】

本書有別於市面上其他Spring Boot入門和實戰類的相關書,更多側重於Spring Boot設計思想、原理及具體功能實現的原始程式碼分析,從一個更深的層次帶領讀者瞭解Spring Boot。書中內容涵蓋範圍較廣,卻又不顯冗餘,每一個知識點都通過典型的功能實現來進行分析。

本書內容基於Spring Boot 2.2.1,書中涵蓋的許多知識點都是我多年經驗的總結,希望能給讀者帶來全新的知識盛宴。

【如何閱讀本書】

由於本書的重點在於對Spring Boot原始程式碼的分析及底層邏輯實現的講解,因此對讀者的水準有一定的要求。

首先,讀者要對Spring Boot有一定的實戰經驗,要會用一些具體的功能,這樣,配合本書的講解才能夠達到更好的學習效果。

其次,讀者需要有一定的Spring使用經驗。Spring Boot基於Spring框架,使用了大量Spring相關的功能及特性,由於本書重點講解Spring Boot的實現原理,對Spring功能及特性無法大量拓展,因此需要讀者有一定的Spring相關基礎,這樣才能更好地理解本書內容。

本書從大的方面可分為四部分,對於這四部分的閱讀建議如下。

●第一部分為準備篇(第1章),這是閱讀本書需要做的準備工作,包括源碼的獲取與調試、源碼閱讀工具的準備等,並帶領讀者從整體上瞭解源碼目錄結構和Spring Boot設計思想。建議大家都看一看。

●第二部分為原理篇(第2~4章),著重講解Spring Boot的實現原理及基本流程,這是Spring Boot的核心內容之一,也是讀者學習後面章節的基礎,建議讀者系統學習。

●第三部分為內建群組件篇(第5~12章),著重講解Spring Boot內置集成框架的實現原理及原始程式碼分析,讀者在學習了第二部分內容之後,在這裡可根據需要進行獨立章節的學習。

●第四部分為外置元件篇(第13~16章),著重講解項目實施過程中單元測試、打包部署、監控等相關外置輔助工具的集成及源碼解析,對這部分讀者可根據需要進行獨立章節的學習。

本書提供了原始程式碼閱讀準備章節和實戰內容。讀者可根據需要選擇性閱讀。

【勘誤和支持】

由於本書是基於Spring Boot 2.2.1撰寫,大多數內容較新,可用於參考及校對的資料較少,同時在寫作過程中Spring Boot官方又進行過幾次版本升級,書中難免會出現一些錯誤或者不準確的地方,懇請讀者批評指正。

為此,我創建了一個在線支持與應急方案的二級網站(https://github.com/secbr/springboot-book)。你可以將閱讀本書時發現的錯誤發佈在Bug勘誤表頁面中。如果你在學習中遇到了問題,也可以訪問Q&A頁面,我將儘量在在線為你解答。書中的全部原始檔案也可以從這個網站下載,我也會及時更新相應的功能。如果你有更多寶貴意見,也歡迎發送郵件至郵箱214399230@qq.com,期待得到你們的真摯回饋。


目次

★第一部分 準備篇

●第1章 閱讀代碼前的準備 2

1.1 獲取和調試Spring Boot原始程式碼 2

1.2 Spring Boot原始程式碼的目錄結構 3

1.3 原始程式碼閱讀工具 5

1.4 Spring Boot的設計理念和目標 6

1.5 Spring Boot的整體架構 7

★第二部分 原理篇

●第2章 Spring Boot核心運行原理 10

2.1 核心運行原理 10

2.2 運作原理源碼解析之@EnableAuto-Configuration 11

2.3 AutoConf?igurationImportSelector源碼解析 15

2.4 @Conditional條件注解 33

2.5 實例解析 39

2.6 小結 41

●第3章 Spring Boot構造流程源碼分析 42

3.1 SpringApplication的初始化簡介 42

3.2 SpringApplication產生實體流程 43

3.3 SpringApplication構造方法參數 44

3.4 Web應用類型推斷 45

3.5 ApplicationContextInitializer載入 47

3.6 ApplicationListener載入 50

3.7 入口類推斷 51

3.8 SpringApplication的定制化配置 52

3.9 小結 54

●第4章 Spring Boot運行流程源碼分析 55

4.1 run方法核心流程 55

4.2 SpringApplicationRunListener監聽器 57

4.3 初始化ApplicationArguments 63

4.4 初始化Conf?igurableEnvironment 63

4.5 忽略信息配置 68

4.6 打印Banner 68

4.7 Spring應用上下文的創建 69

4.8 Spring應用上下文的準備 70

4.9 Spring應用上下文的刷新 75

4.10 調用ApplicationRunner和CommandLineRunner 77

4.11 小結 78

★第三部分 內建群組件篇

●第5章 Spring Boot外化配置源碼解析 80

5.1 外化配置簡介 80

5.2 ApplicationArguments 參數處理 81

5.3 命令參數的獲取 86

5.4 設定檔的載入 88

5.5 基於Prof?ile的處理實現 93

5.6 綜合實戰 97

5.7 小結 102

●第6章 Spring Boot Web應用源碼解析 103

6.1 遺失的web.xml 103

6.2 Web應用的自動配置 104

6.3 Spring MVC的自動配置 111

6.4 綜合實戰 117

6.5 小結 120

●第7章 Spring Boot 內置Servlet容器源碼解析 121

7.1 Web容器自動配置 121

7.2 WebServer初始化過程 128

7.3 DispatcherServlet的載入過程 134

7.4 綜合實戰 140

7.5 小結 141

●第8章 Spring Boot 資料庫配置源碼解析 142

8.1 自動配置注解解析 142

8.2 自動配置內部實現解析 150

8.3 JdbcTemplateAutoConfiguration 157

8.4 異常案例分析 159

8.5 小結 159

●第9章 Spring Boot 訊息源碼解析 160

9.1 JMS基礎自動配置 160

9.2 ActiveMQ自動配置 166

9.3 @JmsListener注解解析 173

9.4 小結 175

●第10章 Spring Boot Cache源碼解析 176

10.1 Cache簡介 176

10.2 Cache自動配置 177

10.3 預設Cache配置 183

10.4 小結 188

●第11章 Spring Boot 日誌源碼解析 189

11.1 LoggingApplicationListener的觸發 189

11.2 LoggingApplicationListener的執行 191

11.3 小結 203

●第12章 實戰:創建Spring Boot自動配置項目 204

12.1 自訂Spring Boot Starter項目 204

12.2 Starter測試使用 207

12.3 小結 208

★第四部分 外置元件篇

●第13章 Spring Boot單元測試 210

13.1 Spring Boot對單元測試的支援 210

13.2 常用單元測試注解 211

13.3 JUnit5單元測試示例 212

13.4 Web應用單元測試 214

13.5 MockMvc的自動配置 217

13.6 小結 221

●第14章 Spring Boot打包部署解析 222

14.1 Spring Boot的jar包 222

14.2 Launcher實現原理 227

14.3 小結 234

●第15章 Spring Boot 應用監控解析 235

15.1 Actuator簡介 235

15.2 Actuator自動配置 237

15.3 Actuator端點展示 244

15.4 小結 247

●第16章 Spring Boot Security支持 248

16.1 Security自動配置 248

16.2 SecurityAutoConfiguration詳解 249

16.3 SecurityFilterAutoConfiguration詳解 255

16.4 小結 257


購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 412
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區