Spring Boot Starter 是一組方便使用的依賴關系描述符,可以在應用程序中包含這些描述符。借助 Spring Boot Starter 開發人員可以獲得所需的所有 Spring 及相關技術的一站式服務,而無需查看示例代碼或復制粘貼依賴的庫文件。譬如,如果需要 Spring JPA 訪問數據庫,則可以在工程中直接飲用 spring-boot-starter-data-jpa
。
有關 Spring Boot Starter 命名規范,所有官方發布的 Starter 都遵循以下命名模式:spring-boot-starter-*
,其中 *
指特定的應用程序代號或名稱。任何第三方提供的 Starter 都不能以 spring-boot
作為前綴,應該將應用程序代號或名稱作為前綴,譬如 mybatis-spring-boot-starter
。
Spring Boot(2.2.x)官方目前已提供的 Starter 包括:
Spring Boot application starters:
spring-boot-starter
核心啟動器,包括支持自動配置、日志記錄及YAML
。spring-boot-starter-activemq
支持使用Apache ActiveMQ
作為JMS
消息服務。spring-boot-starter-amqp
支持使用Spring AMQP
和RabbitMQ
。spring-boot-starter-aop
支持使用Spring AOP
和AspectJ
進行切面編程。spring-boot-starter-artemis
支持使用Apache Artemis
作為JMS
消息服務。spring-boot-starter-batch
支持使用Spring Batch
。spring-boot-starter-cache
啟用Spring Framework
緩存支持。spring-boot-starter-cloud-connectors
支持使用Spring Cloud Connectors
簡化Cloud Foundry
、Heroku
等云平臺的連接服務。spring-boot-starter-data-cassandra
支持使用Cassandra
分布式數據庫及Spring Data Cassandra
。spring-boot-starter-data-cassandra-reactive
支持使用Cassandra
分布式數據庫及Spring Data Cassandra Reactive
。spring-boot-starter-data-couchbase
支持使用Couchbase
文檔數據庫及Spring Data Couchbase
。spring-boot-starter-data-couchbase-reactive
支持使用Couchbase
文檔數據庫及Spring Data Couchbase Reactive
。spring-boot-starter-data-elasticsearch
支持使用Elasticsearch
作為搜索分析引擎及Spring Data Elasticsearch
。spring-boot-starter-data-jdbc
支持使用Spring Data JDBC
。spring-boot-starter-data-jpa
支持使用Spring Data JPA with Hibernate
。spring-boot-starter-data-ldap
支持使用Spring Data LDAP
。spring-boot-starter-data-mongodb
支持使用MongoDB
文檔數據庫及Spring Data MongoDB
。spring-boot-starter-data-mongodb-reactive
支持使用MongoDB
文檔數據庫及Spring Data MongoDB Reactive
。spring-boot-starter-data-neo4j
支持使用Neo4j
圖數據庫及Spring Data Neo4j
。spring-boot-starter-data-redis
支持使用Redis
鍵值數據存儲及Spring Data Redis
和Lettuce
客戶端。spring-boot-starter-data-redis-reactive
支持使用Redis
鍵值數據存儲及Spring Data Redis Reactive
和Lettuce
客戶端。spring-boot-starter-data-rest
支持使用REST
方式暴露Spring Data Repositories
。spring-boot-starter-data-solr
支持使用Apache Solr
搜索平臺及Spring Data Solr
。spring-boot-starter-freemarker
支持使用FreeMarker
視圖構建MVC
Web 應用。spring-boot-starter-groovy-templates
支持使用Groovy
模板視圖構建MVC
Web 應用。spring-boot-starter-hateoas
支持使用Spring MVC
和Spring HATEOAS
構建超媒體的RESTful
Web 應用。spring-boot-starter-integration
支持使用Spring Integration
。spring-boot-starter-jdbc
支持使用HikariCP
作為JDBC
連接池。spring-boot-starter-jersey
支持使用JAX-RS
和Jersey
構建RESTful
Web 應用,替代spring-boot-starter-web
。spring-boot-starter-jooq
支持使用jOOQ
訪問SQL
數據庫,替代spring-boot-starter-data-jpa
或spring-boot-starter-jdbc
。spring-boot-starter-json
支持讀寫json
。spring-boot-starter-jta-atomikos
啟用Atomikos
支持JTA
事務。spring-boot-starter-jta-bitronix
啟用Bitronix
支持JTA
事務。spring-boot-starter-mail
支持使用Java Mail
和Spring
提供的郵件發送功能。spring-boot-starter-mustache
支持使用Mustache
視圖構建 Web 應用。spring-boot-starter-oauth2-client
支持使用Spring Security
提供的OAuth2/OpenID
連接客戶端特性。spring-boot-starter-oauth2-resource-server
支持使用Spring Security
提供的OAuth2
資源服務器特性。spring-boot-starter-quartz
支持使用Quartz
定時機制。spring-boot-starter-rsocket
支持構建RSocket
客戶端和服務器。spring-boot-starter-security
支持使用Spring Security
。spring-boot-starter-test
支持使用JUnit
,Hamcrest
和Mockito
測試Spring Boot
應用。spring-boot-starter-thymeleaf
支持使用Thymeleaf
視圖構建MVC
Web 應用。spring-boot-starter-validation
支持基于Hibernate Validator
的Java Bean
校驗。spring-boot-starter-web
支持使用Spring MVC
構建 Web 應用,包括RESTful
應用,使用Tomcat
作為默認的嵌入式容器。spring-boot-starter-web-services
支持使用 Spring Web Services。spring-boot-starter-webflux
支持構建 WebFlux 應用。spring-boot-starter-websocket
支持構建 WebSocket 應用。
Spring Boot production starters:
-
spring-boot-starter-actuator
支持使用 Spring Boot Actuator 提供生產級別的應用程序監控和管理功能。
Spring Boot technical starters:
spring-boot-starter-jetty
支持使用 Jetty 作為嵌入式 Servlet 容器。spring-boot-starter-log4j2
支持使用 Log4j2 記錄日志。spring-boot-starter-logging
支持使用 Logback 記錄日志,默認。spring-boot-starter-reactor-netty
支持使用 Reactor Netty 作為嵌入式 Reactive HTTP 服務器。spring-boot-starter-tomcat
支持使用 Tomcat 作為嵌入式 Servlet 容器,是spring-boot-starter-web
默認支持的 Servlet 容器。spring-boot-starter-undertow
支持使用 Undertow 作為嵌入式 Servlet 容器。