Spring Boot源碼中模塊詳解

Spring Boot源碼中模塊詳解

1、源碼

spring boot2.1版本源碼地址:https://github.com/spring-projects/spring-boot/tree/2.1.xjava

2、模塊

Spring Boot 包含許多模塊,如下是一些簡單的概述:git

1,spring-boot

爲Spring Boot其餘部分功能提供主要的lib包,其中包含:
(1)SpringApplication類提供了靜態便利的方法使編寫獨立的SpringApplication更加容易.它惟一的任務就是建立和刷新一個適當的Spring ApplicationContext.
(2)爲嵌入式web應用選擇一個容器(Tomcat、Jetty或者Undertow)
(3)對外部化配置的支持超級好
(4)ApplicationContext初始化很方便,包含默認支持合理的日誌記錄github

2,spring-boot-autoconfigure

Spring Boot能夠在classpath中配置大部分公共應該程序.僅僅一個@EnableAutoConfiguration註釋就能觸發Spring上下文的自動配置.
自動配置嘗試推斷哪些用戶須要哪些bean.例如,若是HSQLDB在classpath中配置,而且用戶沒有配置任何的數據庫鏈接,然而他們可能想定義一個內存數據庫.
當用戶開始自定義本身beans時,自動配置將始終退出.web

3,spring-boot-starters

Starters是一組方便的依賴描述符,能夠包含在你的應用程序中.
你能夠爲全部Spring和相關技術提供一站式服務,而無需搜索示例代碼並複製大量的依賴描述符.
例如,若是你想開始使用Spring和JPA訪問數據庫,只須要在你的項目中包含spring-boot-starter-data-jpa依賴項,而後你就能夠繼續.spring

4,spring-boot-cli

spring命令行應用程序編譯並運行Groovy源代碼,使編寫代碼變的很是容易,從而使應用程序可以運行.
Spring CLI還能夠監聽文件,在文件更新時候自動編譯和重啓啓動.數據庫

5,spring-boot-actuator

actuator endpoints容許你監視應用程序而且與其進行交互.
spring boot actuator提供了actuator endpoints所需的基礎設施.
它包含對actuator endpoints的註釋支持.
這個模塊提供了許多端點,包括HealthEndpoint、EnvironmentEndpoint、BeanEndpoint等等.spring-boot

6,spring-boot-actuator-autoconfigure

這個模塊爲actuator endpoints提供了基於classpath內容和一組屬性的自動配置.
例如,若是Micrometer是在classpath中,它將自動配置MtricsEndpoing.它包含經過HTTP或JMX配置expose endpoints.
就像Spring Boot AutoConfigure同樣,當用戶開始自定義本身的beans時,它將退出.工具

7,spring-boot-test

這個模塊包含核心項和註釋,在測試應用程序的時候可能會有所幫助.開發工具

8,spring-boot-test-autoconfigure

像Spring Boot AutoConfigure模塊,spring-boot-test-autoconfigure在classpath中爲tests提供自動配置.
它包括許多註釋,這些註釋能夠被用於自動配置須要測試的應用程序的一個片斷.測試

9,spring-boot-loader

Spring Boot Loader提供祕密武器,容許你構建一個可使用java-jar啓動的jar文件.
一般狀況下你不須要直接使用spring-boot-laoder,而是使用Gradle或者Maven 插件.

10,spring-boot-devtools

spring-boot-devtools模塊提供開發時特性,例如自動從新啓動,對於更流暢的應用開發經驗.在運行完整打包的應用時,將自動禁用開發工具.

相關文章
相關標籤/搜索