天天看點

Spring Boot 的 10 個核心子產品Spring Boot 的核心子產品

學習 Spring Boot 必須得了解它的核心子產品,和 Spring 架構一樣,Spring Boot 也是一個龐大的項目,也是由許多核心子子產品組成的。

Spring Boot 的核心子產品

下面我們大概來了解一下 Spring Boot 的核心子產品。

1、spring-boot

這是 Spring Boot 的主子產品,也是支援其他子產品的核心子產品,主要包含以下幾點:

1) 提供了一個啟動 Spring 應用的主類,并提供了一個相當友善的靜态方法,它的主要是作用是負責建立和重新整理 Spring 容器的上下文;

2) 内嵌式的并可自由選擇搭配的 WEB 應用容器,如:Tomcat, Jetty, Undertow等;

3) 對配置外部化的支援;

4) 提供一個很友善的 Spring 容器上下文初始化器,包括合理記錄日志預設參數的支援。

2、spring-boot-autoconfigure

Spring Boot能根據類路徑下的内容自動一些公共大型應用,提供的 @EnableAutoConfiguration 注解就能啟用 Spring 功能的自動配置。

自動配置功能可以推斷使用者可能需要加載哪些 Spring Bean, 如:如果類路徑下有 HicariCP這個連接配接池的包,此時并未提供任何有效連接配接池的配置,那麼 Spring Boot 就知道你可能需要一個連接配接池,并做相應配置。如果使用者配置了其他連接配接池,那麼 Spring Boot 會放棄自動配置。

3、spring-boot-starters

Starters,我們叫它啟動器好了,它是包括一系列依賴的描述符。簡單的說就是,它可以一站式的幫你打包 Spring 及相關技術應用,而不需要你到處找依賴和示例配置代碼,它都幫你做好了。

例如,第一章我們在介紹 Spring Boot 的時候就說了 spring-boot-starter-web 這個啟動器,你隻要引用了這個啟動器應用,就會自動配置 WEB 應用的能力。

spring-boot-starters 這個啟動器這主要提供了 spring-boot, spring-context, spring-beans 這三個 Spring 子產品而已。

4、spring-boot-cli

這是 Spring Boot 的指令行工具,用于編譯和運作 Groovy 源程式,可以十分簡單的編寫并運作一個應用程式。它也能監控你的檔案,一旦有變動就會自動重新編譯和重新啟動應用程式。

5、spring-boot-actuator

這是 Spring Boot 提供的執行端點,你可以更好的監控及和你的應用程式互動。這個子產品提供了像健康端點、環境端點、Spring Bean端點等。

6、spring-boot-actuator-autoconfigure

這個原理同上,為 Spring Boot 執行端點提供自動配置。

7、spring-boot-test

Spring Boot測試子產品,為應用測試提供了許多非常有用的核心功能。

8、spring-boot-test-autoconfigure

這個原理同上,為 Spring Boot 測試子產品提供自動配置。

9、spring-boot-loader

這個子產品可以用來建構一個單獨可執行的 jar 包,使用 java -jar 就能直接運作。一般不會直接使用這個來打包,使用 Spring Boot 提供的 Maven 或者 Gradle 插件就行了。

10、spring-boot-devtools

開發者工具子產品,主要為 Spring Boot 開發階段提供一些特性,如修改了代碼自動重新開機應用等。這個子產品的功能是可選的,隻限于本地開發階段,當打成整包運作時這些功能會被禁用。

歡迎工作一到五年的Java工程師朋友們加入Java填坑之路:860113481

群内提供免費的Java架構學習資料(裡面有高可用、高并發、高性能及分布式、Jvm性能調優、Spring源碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!