
朱智勝
本書深入分析了 SpringBoot源代碼,教讀者從源代碼角度瞭解 SpringBoot的架構、設計思想和重要功能模塊的實現原理。 全書共分爲三個部分: 第壹部分 準備篇(第1章):粗略介紹源碼閱讀環境的準備、 SpringBoot的整體目錄結構、 SpringBoot的設計目標和理念和 SpringBoot的整體框架。 第二部 實現篇(第2~14章)這部分內容是本書的核心,1.5節中會列出SpringBoot的各個核心功能模塊,這一部分會逐一去分析這些功能模塊的源碼,通過源碼去講解各個功能模塊的架構、設計思想和實現原理,每個功能模塊 用1章的篇幅進行介紹。 第三部分 擴展篇(第15~17章)主要講解 SpringBoot與周邊其他技術的結合,迴歸到了應用層面,但是具體內容都屬於比較高級的知識點,比如SpringBoot打包部署、SpringBoot應用監控、SpringBoot安全(Security)支持等。
國人的源碼分析,技術內幕分析還是逃離不了源碼註釋與講解。看了前面的章節,後面的套路都是一樣的。主要就是把怎麼實現告訴你,由於SpringBoot大量的註解引導,所以變成了註解講解。部分內容也有些許實戰的部分,但這樣混合起來看起來感覺也奇怪。至於SpringBoot的思想,主要就講了一下“約定大於配置”沒了。感覺也沒有更深層次的分析,包括SpringBoot 出現的原因,爲什麼要這樣設計更加沒有。只能給3星。
約定優於配置。 Spring Boot通過@EnableAutoConfiguration註解開啓自動配置,加載spring.factories中註冊的各種AutoConfiguration類,當某個AutoConfiguration類滿足其註解@Conditional指定的生效條件(Starters提供的依賴、配置或Spring容器中是否存在某個Bean等)時,實例化該AutoConfiguration類中定義的Bean(組件等),並注入Spring容器,就可以完成依賴框架的自動配置。 ·@EnableAutoConfiguration:該註解由組合註解@SpringBootApplication引入,完成自動配置開啓,掃描各個jar包下的spring.factories文件,並加載文件中註冊的AutoConfiguration類等。 ·spring.factories:配置文件,位於jar包的META-INF目錄下,按照指定格式註冊了自動配置的AutoConfiguration類。spring.factories也可以包含其他類型待註冊的類。該配置文件不僅存在於Spring Boot項目中,也可以存在於自定義的自動配置(或Starter)項目中。 ·AutoConfiguration類:自動配置類,代表了Spring Boot中一類以XXAutoConfiguration命名的自動配置類。其中定義了三方組件集成Spring所需初始化的Bean和條件。 ·@Conditional:條件註解及其衍生註解,在AutoConfiguration類上使用,當滿足該條件註解時纔會實例化AutoConfiguration類。 ·Starters:三方組件的依賴及配置,Spring Boot已經預置的組件。Spring Boot默認的Starters項目往往只包含了一個pom依賴的項目。如果是自定義的starter,該項目還需包含spring.factories文件、AutoConfiguration類和其他配置類。
1.什麼是Spring Boot? Spring Boot作爲Spring腳手架框架,以達到快速構建項目、預置三方配置、開箱即用的目的。 2.Spring Boot核心運行原理? Spring Boot最核心的功能是自動配置,功能的實現都是基於“約定優於配置”的原則。 自動配置 使用Spring Boot時,只需引入對應的Starters,Spring Boot啓動時便會自動加載相關依賴,配置相應的初始化參數,以最快捷、簡單的形式對第三方軟件進行集成。 運作原理 Spring Boot通過@EnableAutoConfiguration註解開啓自動配置,加載spring.factories中註冊的各種AutoConfiguration類,當某個AutoConfiguration類滿足其註解@Conditional指定的生效條件(Starters提供的依賴、配置或Spring容器中是否存在某個Bean等)時,實例化該AutoConfiguration類中定義的Bean,並注入Spring容器,就可以完成依賴框架的自動配置。
很久之前讀的一本書還是很有意義的,當時讀了很多相關的書,補全了自己關於的這個知識的架構,對於後續嗯對嗯對的編寫,還有工作的開展都是很有意義的事情,不要嫌棄沒有某本書的作用小,是因爲還有很多書要讀。
(1)本書由Spring Boot佈道師、技術專家撰寫,從源碼級切入,以指導實踐爲宗旨,可謂深度和實操性兼具。 (2)本書以【Spring Boot 2.x】版本的源碼爲基礎,不僅提煉出了Spring Boot源碼的核心思想,還對Spring Boot框架中的數十個主流功能模塊進行了源碼級的分析。 (3)本書在各章相關部分都給出實踐指導,還以用獨立章節以實際案例的形式對實踐應用進行專門指導。
spring boot啓動和基礎原理部分講的很詳細