Spring Boot 的核心模塊
1、spring-boot
這是 Spring Boot 的主模塊,也是支持其他模塊的核心模塊,主要包含以下幾點(diǎn):
提供了一個(gè)啟動(dòng) Spring 應(yīng)用的主類,并提供了一個(gè)相當(dāng)方便的靜態(tài)方法,它的主要是作用是負(fù)責(zé)創(chuàng)建和刷新 Spring 容器的上下文;
內(nèi)嵌式的并可自由選擇搭配的 WEB 應(yīng)用容器,如: Tomcat , Jetty , Undertow 等;
對(duì)配置外部化的支持;
提供一個(gè)很方便的 Spring 容器上下文初始化器,包括合理記錄日志默認(rèn)參數(shù)的支持。
2、spring-boot-autoconfigure
Spring Boot能根據(jù)類路徑下的內(nèi)容自動(dòng)一些公共大型應(yīng)用,提供的 @EnableAutoConfiguration注解就能啟用 Spring 功能的自動(dòng)配置。
自動(dòng)配置功能可以推斷用戶可能需要加載哪些 Spring Bean, 如:如果類路徑下有 HicariCP 這個(gè)連接池的包,此時(shí)并未提供任何有效連接池的配置,那么 Spring Boot 就知道你可能需要一個(gè)連接池,并做相應(yīng)配置。如果用戶配置了其他連接池,那么 Spring Boot 會(huì)放棄自動(dòng)配置。
3、spring-boot-starters
Starters,我們叫它啟動(dòng)器好了,它是包括一系列依賴的描述符。簡(jiǎn)單的說(shuō)就是,它可以一站式的幫你打包 Spring 及相關(guān)技術(shù)應(yīng)用,而不需要你到處找依賴和示例配置代碼,它都幫你做好了。
例如,第一章我們?cè)诮榻B Spring Boot 的時(shí)候就說(shuō)了 spring-boot-starter-web 這個(gè)啟動(dòng)器,你只要引用了這個(gè)啟動(dòng)器應(yīng)用,就會(huì)自動(dòng)配置 WEB 應(yīng)用的能力。
spring-boot-starters 這個(gè)啟動(dòng)器這主要提供了 spring-boot , spring-context , spring-beans 這三個(gè) Spring 模塊而已。
4、spring-boot-cli
這是 Spring Boot 的命令行工具,用于編譯和運(yùn)行 Groovy 源程序,可以十分簡(jiǎn)單的編寫并運(yùn)行一個(gè)應(yīng)用程序。它也能監(jiān)控你的文件,一旦有變動(dòng)就會(huì)自動(dòng)重新編譯和重新啟動(dòng)應(yīng)用程序。
5、spring-boot-actuator
這是 Spring Boot 提供的執(zhí)行端點(diǎn),你可以更好的監(jiān)控及和你的應(yīng)用程序交互。這個(gè)模塊提供了像健康端點(diǎn)、環(huán)境端點(diǎn)、Spring Bean端點(diǎn)等。
6、spring-boot-actuator-autoconfigure
這個(gè)原理同上,為 Spring Boot 執(zhí)行端點(diǎn)提供自動(dòng)配置。
7、spring-boot-test
Spring Boot測(cè)試模塊,為應(yīng)用測(cè)試提供了許多非常有用的核心功能。
8、spring-boot-test-autoconfigure
這個(gè)原理同上,為 Spring Boot 測(cè)試模塊提供自動(dòng)配置。
9、spring-boot-loader
這個(gè)模塊可以用來(lái)構(gòu)建一個(gè)單獨(dú)可執(zhí)行的 jar 包,使用 java -jar 就能直接運(yùn)行。一般不會(huì)直接使用這個(gè)來(lái)打包,使用 Spring Boot 提供的 Maven 或者 Gradle 插件就行了。
10、spring-boot-devtools
開發(fā)者工具模塊,主要為 Spring Boot 開發(fā)階段提供一些特性,如修改了代碼自動(dòng)重啟應(yīng)用等。這個(gè)模塊的功能是可選的,只限于本地開發(fā)階段,當(dāng)打成整包運(yùn)行時(shí)這些功能會(huì)被禁用。