# 13\. 構建系統
強烈建議您選擇一個支持[依賴管理](http://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/reference/htmlsingle/#using-boot-dependency-management)并可以使用“Maven Central”存儲庫的構建系統。 我們建議您選擇Maven或Gradle。 Spring Boot 可以與其他構建系統(例如 Ant )配合使用,但是它們不會得到很好的支持。
### 13.1 依賴管理
每個版本的Spring Boot提供了一個它所支持的依賴關系列表。 實際上,您不需要為構建配置文件中的這些依賴關系提供版本,因為Spring Boot會為您進行管理這些依賴的版本。 當您升級Spring Boot本身時,這些依賴關系也將以一致的進行升級。
> 如果您覺得有必要,您仍然可以指定一個版本并覆蓋Spring Boot建議的版本。
管理的列表中包含可以使用Spring Boot的所有Spring模塊以及第三方庫的精簡列表。 該列表可作為標準的[物料(Materials)清單(spring-boot-dependencies)](http://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/reference/htmlsingle/#using-boot-maven-without-a-parent)使用,并且還提供了對?[Maven](http://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/reference/htmlsingle/#using-boot-maven-parent-pom)?和?[Gradle](http://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/reference/htmlsingle/#build-tool-plugins-gradle-dependency-management)?的額外支持。
> Spring Boot的每個版本與Spring Framework的基本版本相關聯,因此我們強烈建議您不要自己指定其版本。
### [](file:///C:/Users/geekidentity/AppData/Local/Youdao/YNote/markdown/index.html#132-maven)13.2 Maven
Maven用戶可以從 spring-boot-starter-parent-parent 項目中繼承,以獲得合理的默認值。 父項目提供以下功能:
* Java 1.6作為默認編譯器級別。
* 源代碼UTF-8編碼。
* [依賴關系管理](http://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/reference/htmlsingle/#using-boot-dependency-management),允許您省略常見依賴的<version>標簽,其默認版本繼承自spring-boot-dependencies POM。
* 更合理的[資源過濾](https://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html)。
* 更合理的插件配置([exec plugin](http://www.mojohaus.org/exec-maven-plugin/),[surefire](https://maven.apache.org/surefire/maven-surefire-plugin/),[Git commit ID](https://github.com/ktoso/maven-git-commit-id-plugin),[shade](https://maven.apache.org/plugins/maven-shade-plugin/))。
* 針對application.properties和application.yml的更合理的資源過濾,包括特定的文件(例如application-foo.properties和application-foo.yml)
* 最后一點:由于默認的配置文件接受Spring樣式占位符(${...}),Maven過濾更改為使用 @..@ 占位符(您可以使用Maven屬性resource.delimiter覆蓋它)。
#### [](file:///C:/Users/geekidentity/AppData/Local/Youdao/YNote/markdown/index.html#1321-繼承啟動器parent)13.2.1 繼承啟動器parent
要將項目配置為繼承spring-boot-starter-parent,只需設置<parent>標簽如下:
```
<!-- Inherit defaults from Spring Boot -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
```
> 您只需要在此依賴項上指定Spring Boot版本號。 如果您導入其他起始器,則可以放心地省略他們的版本號。
通過該設置,您還可以通過覆蓋自己的項目中的屬性來覆蓋單個依賴。 例如,要升級到另一個 Spring Data 版本序列,您需要將以下內容添加到您的pom.xml中。
```
<properties>
<spring-data-releasetrain.version>Fowler-SR2</spring-data-releasetrain.version>
</properties>
```
> 檢查?[spring-boot-dependencies pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-dependencies/pom.xml)?以獲取支持的屬性列表。
#### [](file:///C:/Users/geekidentity/AppData/Local/Youdao/YNote/markdown/index.html#1322-使用沒有父pom的-spring-boot)13.2.2 使用沒有父POM的 Spring Boot
不是每個人都喜歡從spring-boot-starter-parent POM繼承。 您公司可能有自己標準的父母,或者您可能只希望明確聲明所有的Maven配置。
如果您不想使用spring-boot-starter-parent,則仍然可以通過使用scope=import依賴來保持依賴管理(但不能進行插件管理)的好處:
```
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.5.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
```
該設置不允許您使用如13.2.1 所述的屬性來覆蓋單個依賴關系。 要實現相同的結果,您需要在spring-boot-dependencies條目之前在項目的dependencyManagement中添加一個條目。 例如,要升級到另一個Spring Data發行版本,您需要將以下內容添加到您的pom.xml中。
```
<dependencyManagement>
<dependencies>
<!-- Override Spring Data release train provided by Spring Boot -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-releasetrain</artifactId>
<version>Fowler-SR2</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.5.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
```
> 在上面的例子中,我們指定了一個BOM,但是任何依賴關系類型都可以被這樣覆蓋。
#### 13.2.3 更改Java版本
spring-boot-starter-parent選擇相當保守的Java兼容性版本。 如果要遵循我們的建議并使用更高版本的Java版本,可以添加java.version屬性:
```
<properties>
<java.version>1.8</java.version>
</properties>
```
#### [](file:///C:/Users/geekidentity/AppData/Local/Youdao/YNote/markdown/index.html#1324-使用spring-boot-maven插件)13.2.4 使用Spring Boot Maven插件
Spring Boot包括一個Maven插件,可以將項目打包成可執行jar。 如果要使用它,請將插件添加到<plugins>部分:
```
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
```
> 如果您使用Spring Boot啟動器 parent pom,則只需要添加這個插件,除非您要更改parent中定義的設置,否則不需要進行配置。
### 13.3 Gradle
Gradle用戶可以直接在其依賴關系部分導入“啟動器”。 不像Maven,沒有“超級父”導入來共享一些配置。
```
repositories {
jcenter()
}
dependencies {
compile("org.springframework.boot:spring-boot-starter-web:1.5.2.RELEASE")
}
```
spring-boot-gradle-plugin也是可用的,它提供了從源代碼創建可執行jar并運行項目的任務。 它還提供依賴關系管理,除其他功能外,還允許您省略由Spring Boot管理的任何依賴關系的版本號:
```
plugins {
id 'org.springframework.boot' version '1.5.2.RELEASE'
id 'java'
}
repositories {
jcenter()
}
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
testCompile("org.springframework.boot:spring-boot-starter-test")
}
```
### 13.4 Ant
可以使用Apache Ant + Ivy構建Spring Boot項目。 spring-boot-antlib“AntLib”模塊也可用于幫助Ant創建可執行文件。
要聲明依賴關系,典型的ivy.xml文件將如下所示:
```
<ivy-module version="2.0">
<info organisation="org.springframework.boot" module="spring-boot-sample-ant" />
<configurations>
<conf name="compile" description="everything needed to compile this module" />
<conf name="runtime" extends="compile" description="everything needed to run this module" />
</configurations>
<dependencies>
<dependency org="org.springframework.boot" name="spring-boot-starter" rev="${spring-boot.version}" conf="compile" />
</dependencies>
</ivy-module>
```
典型的build.xml將如下所示:
```
<project xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:spring-boot="antlib:org.springframework.boot.ant" name="myapp" default="build">
<property name="spring-boot.version" value="1.3.0.BUILD-SNAPSHOT" />
<target name="resolve" description="--> retrieve dependencies with ivy">
<ivy:retrieve pattern="lib/[conf]/[artifact]-[type]-[revision].[ext]" />
</target>
<target name="classpaths" depends="resolve">
<path id="compile.classpath">
<fileset dir="lib/compile" includes="*.jar" />
</path>
</target>
<target name="init" depends="classpaths">
<mkdir dir="build/classes" />
</target>
<target name="compile" depends="init" description="compile">
<javac srcdir="src/main/java" destdir="build/classes" classpathref="compile.classpath" />
</target>
<target name="build" depends="compile">
<spring-boot:exejar destfile="build/myapp.jar" classes="build/classes">
<spring-boot:lib>
<fileset dir="lib/runtime" />
</spring-boot:lib>
</spring-boot:exejar>
</target>
</project>
```
> 請參見[第84.10節“從Ant構建可執行存檔,而不使用spring-boot-antlib”](http://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/reference/htmlsingle/#howto-build-an-executable-archive-with-ant)如果不想使用spring-boot-antlib模塊,請參閱“操作方法”。
### 13.5 啟動器
啟動器是一組方便的依賴關系描述符,可以包含在應用程序中。 您可以獲得所需的所有Spring和相關技術的一站式服務,無需通過示例代碼搜索和復制粘貼依賴配置。 例如,如果要開始使用Spring和JPA進行數據庫訪問,那么只需在項目中包含spring-boot-starter-data-jpa依賴關系即可。
啟動器包含許多依賴關系,包括您需要使項目快速啟動并運行,并具有一致的受支持的依賴傳遞關系。
What’s in a name
所有正式起動器都遵循類似的命名模式: spring-boot-starter- * ,其中 * 是特定類型的應用程序。 這個命名結構旨在幫助你快速找到一個啟動器。 許多IDE中的Maven插件允許您按名稱搜索依賴項。 例如,安裝Eclipse或STS的Maven插件后,您可以簡單地在POM編輯器中點擊 Dependency Hierarchy,并在filter輸入“spring-boot-starter”來獲取完整的列表。 如[創建自己的啟動器](http://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/reference/htmlsingle/#boot-features-custom-starter)部分所述,第三方啟動程序不應該從Spring-boot開始,因為它是為正式的Spring Boot artifacts 保留的。 acme 的 第三方啟動器通常被命名為acme-spring-boot-starter。
Spring Boot在org.springframework.boot組下提供了以下應用程序啟動器:
表13.1\. Spring Boot應用程序啟動器
| 名稱 | 描述 | Pom |
| --- | --- | --- |
| spring-boot-starter-thymeleaf | 使用Thymeleaf視圖構建MVC Web應用程序的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-thymeleaf/pom.xml) |
| spring-boot-starter-data-couchbase | 使用Couchbase面向文檔的數據庫和Spring Data Couchbase的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-data-couchbase/pom.xml) |
| spring-boot-starter-artemis | 使用Apache Artemis的JMS啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-artemis/pom.xml) |
| spring-boot-starter-web-services | Spring Web Services 啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-web-services/pom.xml) |
| spring-boot-starter-mail | Java Mail和Spring Framework的電子郵件發送支持的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-mail/pom.xml) |
| spring-boot-starter-data-redis | Redis key-value 數據存儲與Spring Data Redis和Jedis客戶端啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-data-redis/pom.xml) |
| spring-boot-starter-web | 使用Spring MVC構建Web,包括RESTful應用程序。使用Tomcat作為默認的嵌入式容器的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-web/pom.xml) |
| spring-boot-starter-data-gemfire | 使用GemFire分布式數據存儲和Spring Data GemFire的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-data-gemfire/pom.xml) |
| spring-boot-starter-activemq | 使用Apache ActiveMQ的JMS啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-activemq/pom.xml) |
| spring-boot-starter-data-elasticsearch | 使用Elasticsearch搜索和分析引擎和Spring Data Elasticsearch的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-data-elasticsearch/pom.xml) |
| spring-boot-starter-integration | Spring Integration 啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-integration/pom.xml) |
| spring-boot-starter-test | 使用JUnit,Hamcrest和Mockito的庫測試Spring Boot應用程序的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-test/pom.xml) |
| spring-boot-starter-jdbc | 使用JDBC與Tomcat JDBC連接池的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-jdbc/pom.xml) |
| spring-boot-starter-mobile | 使用Spring Mobile構建Web應用程序的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-mobile/pom.xml) |
| spring-boot-starter-validation | 使用Java Bean Validation 與Hibernate Validator的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-validation/pom.xml) |
| spring-boot-starter-hateoas | 使用Spring MVC和Spring HATEOAS構建基于超媒體的RESTful Web應用程序的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-hateoas/pom.xml) |
| spring-boot-starter-jersey | 使用JAX-RS和Jersey構建RESTful Web應用程序的啟動器。spring-boot-starter-web的替代方案 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-jersey/pom.xml) |
| spring-boot-starter-data-neo4j | 使用Neo4j圖數據庫和Spring Data Neo4j的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-data-neo4j/pom.xml) |
| spring-boot-starter-data-ldap | 使用Spring Data LDAP的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-data-ldap/pom.xml) |
| spring-boot-starter-websocket | 使用Spring Framework的WebSocket支持構建WebSocket應用程序的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-websocket/pom.xml) |
| spring-boot-starter-aop | 使用Spring AOP和AspectJ進行面向切面編程的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-aop/pom.xml) |
| spring-boot-starter-amqp | 使用Spring AMQP和Rabbit MQ的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-amqp/pom.xml) |
| spring-boot-starter-data-cassandra | 使用Cassandra分布式數據庫和Spring Data Cassandra的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-data-cassandra/pom.xml) |
| spring-boot-starter-social-facebook | 使用Spring Social Facebook 的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-social-facebook/pom.xml) |
| spring-boot-starter-jta-atomikos | 使用Atomikos的JTA事務的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-jta-atomikos/pom.xml) |
| spring-boot-starter-security | 使用Spring Security的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-security/pom.xml) |
| spring-boot-starter-mustache | 使用Mustache視圖構建MVC Web應用程序的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-mustache/pom.xml) |
| spring-boot-starter-data-jpa | 使用Spring數據JPA與Hibernate的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-data-jpa/pom.xml) |
| spring-boot-starter | 核心啟動器,包括自動配置支持,日志記錄和YAML | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter/pom.xml) |
| spring-boot-starter-groovy-templates | 使用Groovy模板視圖構建MVC Web應用程序的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-groovy-templates/pom.xml) |
| spring-boot-starter-freemarker | 使用FreeMarker視圖構建MVC Web應用程序的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-freemarker/pom.xml) |
| spring-boot-starter-batch | 使用Spring Batch的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-batch/pom.xml) |
| spring-boot-starter-social-linkedin | 使用Spring Social LinkedIn的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-social-linkedin/pom.xml) |
| spring-boot-starter-cache | 使用Spring Framework緩存支持的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-cache/pom.xml) |
| spring-boot-starter-data-solr | 使用Apache Solr搜索平臺與Spring Data Solr的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-data-solr/pom.xml) |
| spring-boot-starter-data-mongodb | 使用MongoDB面向文檔的數據庫和Spring Data MongoDB的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-data-mongodb/pom.xml) |
| spring-boot-starter-jooq | 使用jOOQ訪問SQL數據庫的啟動器。 spring-boot-starter-data-jpa或spring-boot-starter-jdbc的替代方案 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-jooq/pom.xml) |
| spring-boot-starter-jta-narayana | Spring Boot Narayana JTA 啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-jta-narayana/pom.xml) |
| spring-boot-starter-cloud-connectors | 使用Spring Cloud連接器,簡化了與Cloud Foundry和Heroku等云平臺中的服務連接的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-cloud-connectors/pom.xml) |
| spring-boot-starter-jta-bitronix | 使用Bitronix進行JTA 事務的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-jta-bitronix/pom.xml) |
| spring-boot-starter-social-twitter | 使用Spring Social Twitter的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-social-twitter/pom.xml) |
| spring-boot-starter-data-rest | 通過使用Spring Data REST在REST上暴露Spring數據庫的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-data-rest/pom.xml) |
除了應用程序啟動器,以下啟動器可用于添加[生產準備(production ready)](http://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/reference/htmlsingle/#production-ready)功能:
表13.2 Spring Boot生產環境啟動器
| 名稱 | 描述 | Pom |
| --- | --- | --- |
| spring-boot-starter-actuator | 使用Spring Boot Actuator提供生產準備功能,可幫助您監控和管理應用程序的啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-actuator/pom.xml) |
| spring-boot-starter-remote-shell | 使用CRaSH遠程shell通過SSH監視和管理您的應用程序的啟動器。 自1.5以來已棄用 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-remote-shell/pom.xml) |
最后,Spring Boot還包括一些啟動器,如果要排除或替換特定的技術,可以使用它們:
| 名稱 | 描述 | Pom |
| --- | --- | --- |
| spring-boot-starter-undertow | 使用Undertow作為嵌入式servlet容器的啟動器。 spring-boot-starter-tomcat的替代方案 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-undertow/pom.xml) |
| spring-boot-starter-jetty | 使用Jetty作為嵌入式servlet容器的啟動器。 spring-boot-starter-tomcat的替代方案 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-jetty/pom.xml) |
| spring-boot-starter-logging | 使用Logback進行日志記錄的啟動器。 默認的日志啟動器 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-logging/pom.xml) |
| spring-boot-starter-tomcat | 使用Tomcat作為嵌入式servlet容器的啟動器。 spring-boot-starter-web的默認servlet容器啟動器 | [Pom](http://note.youdao.com/) |
| spring-boot-starter-log4j2 | 使用Log4j2進行日志記錄的啟動器。 spring-boot-start-logging的替代方法 | [Pom](https://github.com/spring-projects/spring-boot/tree/v1.5.2.RELEASE/spring-boot-starters/spring-boot-starter-log4j2/pom.xml) |
> 有關社區貢獻的更多啟動器的列表,請參閱GitHub上的spring-boot-startters模塊中的[README文件](https://github.com/spring-projects/spring-boot/tree/master/spring-boot-starters/README.adoc)。
- Part I. Spring Boot 文檔
- Part II. 入門指南
- 8. Spring Boot 介紹
- 9. 系統要求
- 10. 安裝 Spring Boot
- 11. 開發您的第一個Spring Boot應用程序
- 12. 接下來應該讀什么
- Part III. 使用 Spring Boot
- 13. 構建系統
- 14. 構建代碼
- 15. 配置類
- 16. 自動配置
- 17. Spring Beans 和 依賴注入
- 18. 使用@SpringBootApplication注解
- 19. 運行你的應用程序
- 20. 開發工具
- 21. 包裝您的應用程序到生產環境
- 22. 接下來應該讀什么
- Part IV. Spring Boot 功能
- 23. SpringApplication
- 24. 外部配置
- 25. 配置文件(Profiles)
- 26. 日志
- 27. 開發Web應用程序
- 28. Security
- 29. 使用SQL數據庫