學(xué)習(xí) Spring Boot 必須得了解它的核心模塊电抚,和 Spring 框架一樣喻频,Spring Boot 也是一個龐大的項目肘迎,也是由許多核心子模塊組成的妓布。Spring Boot 的核心模塊
下面我們大概來了解一下 Spring Boot 的核心模塊。
1匣沼、spring-boot這是 Spring Boot 的主模塊捂龄,也是支持其他模塊的核心模塊,主要包含以下幾點:
- 提供了一個啟動 Spring 應(yīng)用的主類唇撬,并提供了一個相當(dāng)方便的靜態(tài)方法展融,它的主要是作用是負(fù)責(zé)創(chuàng)建和刷新 Spring 容器的上下文;
- 內(nèi)嵌式的并可自由選擇搭配的 WEB 應(yīng)用容器扑浸,如:Tomcat, Jetty, Undertow等;
- 對配置外部化的支持喝噪;
- 提供一個很方便的 Spring 容器上下文初始化器酝惧,包括合理記錄日志默認(rèn)參數(shù)的支持。
2系奉、spring-boot-autoconfigureSpring Boot能根據(jù)類路徑下的內(nèi)容自動一些公共大型應(yīng)用,提供的 @EnableAutoConfiguration 注解就能啟用 Spring 功能的自動配置缺亮。自動配置功能可以推斷用戶可能需要加載哪些 Spring Bean, 如:如果類路徑下有 HicariCP這個連接池的包萌踱,此時并未提供任何有效連接池的配置,那么 Spring Boot 就知道你可能需要一個連接池并鸵,并做相應(yīng)配置。如果用戶配置了其他連接池届谈,那么 Spring Boot 會放棄自動配置弯汰。
3咏闪、spring-boot-startersStarters,我們叫它啟動器好了纵装,它是包括一系列依賴的描述符橡娄。簡單的說就是癣籽,它可以一站式的幫你打包 Spring 及相關(guān)技術(shù)應(yīng)用扳还,而不需要你到處找依賴和示例配置代碼,它都幫你做好了橱夭。例如氨距,第一章我們在介紹 Spring Boot 的時候就說了 spring-boot-starter-web 這個啟動器,你只要引用了這個啟動器應(yīng)用棘劣,就會自動配置 WEB 應(yīng)用的能力俏让。spring-boot-starters 這個啟動器這主要提供了 spring-boot, spring-context, spring-beans 這三個 Spring 模塊而已。
4茬暇、spring-boot-cli這是 Spring Boot 的命令行工具首昔,用于編譯和運行 Groovy 源程序,可以十分簡單的編寫并運行一個應(yīng)用程序糙俗。它也能監(jiān)控你的文件勒奇,一旦有變動就會自動重新編譯和重新啟動應(yīng)用程序。
5巧骚、spring-boot-actuator這是 Spring Boot 提供的執(zhí)行端點赊颠,你可以更好的監(jiān)控及和你的應(yīng)用程序交互。這個模塊提供了像健康端點竣蹦、環(huán)境端點痘括、Spring Bean端點等纲菌。
6、spring-boot-actuator-autoconfigure這個原理同上,為 Spring Boot 執(zhí)行端點提供自動配置唉韭。
7属愤、spring-boot-testSpring Boot測試模塊驾胆,為應(yīng)用測試提供了許多非常有用的核心功能丧诺。
8、spring-boot-test-autoconfigure這個原理同上馁蒂,為 Spring Boot 測試模塊提供自動配置饵隙。
9、spring-boot-loader這個模塊可以用來構(gòu)建一個單獨可執(zhí)行的 jar 包倘潜,使用 java -jar 就能直接運行废睦。一般不會直接使用這個來打包嗜湃,使用 Spring Boot 提供的 Maven 或者 Gradle 插件就行了。
10刚陡、spring-boot-devtools開發(fā)者工具模塊,主要為 Spring Boot 開發(fā)階段提供一些特性蝙云,如修改了代碼自動重啟應(yīng)用等波材。這個模塊的功能是可選的廷区,只限于本地開發(fā)階段躲因,當(dāng)打成整包運行時這些功能會被禁用大脉。