學習 Spring Boot 必須得了解它的核心模塊,和 Spring 框架同樣,Spring Boot 也是一個龐大的項目,也是由許多核心子模塊組成的。java
更多請在Java技術棧公衆號後臺回覆關鍵字:boot。web
下面咱們大概來了解一下 Spring Boot 的核心模塊。spring
一、spring-boot框架
這是 Spring Boot 的主模塊,也是支持其餘模塊的核心模塊,主要包含如下幾點:spring-boot
提供了一個啓動 Spring 應用的主類,並提供了一個至關方便的靜態方法,它的主要是做用是負責建立和刷新 Spring 容器的上下文;工具
內嵌式的並可自由選擇搭配的 WEB 應用容器,如:Tomcat
, Jetty
, Undertow
等;源碼分析
對配置外部化的支持;學習
提供一個很方便的 Spring 容器上下文初始化器,包括合理記錄日誌默認參數的支持。測試
二、spring-boot-autoconfigure插件
Spring Boot能根據類路徑下的內容自動一些公共大型應用,提供的 @EnableAutoConfiguration
註解就能啓用 Spring 功能的自動配置。
自動配置功能能夠推斷用戶可能須要加載哪些 Spring Bean, 如:若是類路徑下有 HicariCP
這個鏈接池的包,此時並未提供任何有效鏈接池的配置,那麼 Spring Boot 就知道你可能須要一個鏈接池,並作相應配置。若是用戶配置了其餘鏈接池,那麼 Spring Boot 會放棄自動配置。
三、spring-boot-starters
Starters,咱們叫它啓動器好了,它是包括一系列依賴的描述符。簡單的說就是,它能夠一站式的幫你打包 Spring 及相關技術應用,而不須要你處處找依賴和示例配置代碼,它都幫你作好了。
例如,第一章咱們在介紹 Spring Boot 的時候就說了 spring-boot-starter-web
這個啓動器,你只要引用了這個啓動器應用,就會自動配置 WEB 應用的能力。
spring-boot-starters
這個啓動器這主要提供了 spring-boot
, spring-context
, spring-beans
這三個 Spring 模塊而已。
四、spring-boot-cli
這是 Spring Boot 的命令行工具,用於編譯和運行 Groovy
源程序,能夠十分簡單的編寫並運行一個應用程序。它也能監控你的文件,一旦有變更就會自動從新編譯和從新啓動應用程序。
五、spring-boot-actuator
這是 Spring Boot 提供的執行端點,你能夠更好的監控及和你的應用程序交互。這個模塊提供了像健康端點、環境端點、Spring Bean端點等。
六、spring-boot-actuator-autoconfigure
這個原理同上,爲 Spring Boot 執行端點提供自動配置。
七、spring-boot-test
Spring Boot測試模塊,爲應用測試提供了許多很是有用的核心功能。
八、spring-boot-test-autoconfigure
這個原理同上,爲 Spring Boot 測試模塊提供自動配置。
九、spring-boot-loader
這個模塊能夠用來構建一個單獨可執行的 jar 包,使用 java -jar
就能直接運行。通常不會直接使用這個來打包,使用 Spring Boot 提供的 Maven 或者 Gradle 插件就好了。
十、spring-boot-devtools
開發者工具模塊,主要爲 Spring Boot 開發階段提供一些特性,如修改了代碼自動重啓應用等。這個模塊的功能是可選的,只限於本地開發階段,當打成整包運行時這些功能會被禁用。
大概的核心模塊就是這些,裏面更多的細節請閱讀後續的更多文章。更多 Spring Boot 文章請在Java技術棧公衆號後臺回覆關鍵字:boot。
本文原創首發於公衆號:Java技術棧(id:javastack),關注公衆號在後臺回覆 "boot" 可獲取更多,轉載請原樣保留本信息。