Spring Boot starters
Spring Boot 的功能組件(例如 spring-boot-starter-actuator、 spring-boot-starter-data-redis 等)的步驟非常簡單,用著名的把大象放冰箱的方法來概括的話,有以下三步就可以完成組件功能的使用:
STEP 1
在 pom 檔案中引入對應的包,例如:
STEP 2
在應用組態檔中加入相應的配置,配置都是組件約定好的,需要查看官方檔案或者相關說明,有些比較復雜的組件,對應的引數和規則也相應的較多,有點可能多大幾十上百了,
STEP 3
以上兩步都正常的情況下,我們就可以使用組件提供的相關介面來開發業務功能了,下面我整理了官方提供的starter.我們來看一看.
1、application starters
應用程式級的 Starters
| Starter 名稱 | Starter 描述 |
|---|---|
| spring-boot-starter | 核心 Starter,包括自動配置、日志及 YAML 支持等 |
| spring-boot-starter-activemq | 集成 Apache ActiveMQ,基于 JMS 的訊息佇列 |
| spring-boot-starter-artemis | 集成 Apache Artemis,基于 JMS 的訊息佇列 |
| spring-boot-starter-amqp | 集成 Spring AMQP 和 Rabbit MQ 的訊息佇列 |
| spring-boot-starter-aop | 集成 Spring AOP 和 AspectJ 面向切面編程 |
| spring-boot-starter-batch | 集成 Spring Batch(批處理) |
| spring-boot-starter-cache | 集成 Spring Cache(快取) |
| 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-solr | 集成 Apache Solr(搜索引擎)結合 Spring Data Solr |
| spring-boot-starter-data-jdbc | 集成 Spring Data JDBC |
| spring-boot-starter-data-jpa | 集成 Spring Data JPA 結合 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-r2dbc | 集成 Spring Data R2DBC |
| 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 | 集成 Spring Data REST 暴露 Spring Data repositories 輸出 REST 資源 |
| spring-boot-starter-thymeleaf | 集成 Thymeleaf 視圖構建 MVC web 應用 |
| 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 | 集成 JDBC 結合 HikariCP 連接池 |
| spring-boot-starter-jersey | 集成 JAX-RS 和 Jersey 構建 RESTful web 應用,是 spring-boot-starter-web 的一個替代 Starter |
| spring-boot-starter-jooq | 集成 jOOQ 訪問 SQL 資料庫,是 spring-boot-starter-data-jpa 或者 spring-boot-starter-jdbc 的替代 Starter |
| spring-boot-starter-json | 用于讀寫 JSON |
| spring-boot-starter-jta-atomikos | 集成 Atomikos 實作 JTA 事務 |
| spring-boot-starter-jta-bitronix | 集成 Bitronix 實作 JTA 事務( 從 2.3.0 開始標識為 Deprecated) |
| spring-boot-starter-mail | 集成 Java Mail 和 Spring 框架的郵件發送功能 |
| spring-boot-starter-mustache | 集成 Mustache 視圖構建 web 應用 |
| spring-boot-starter-security | 集成 Spring Security |
| spring-boot-starter-oauth2-client | 集成 Spring Security’s OAuth2/OpenID 連接客戶端功能 |
| spring-boot-starter-oauth2-resource-server | 集成 Spring Security’s OAuth2 資源服務器功能 |
| spring-boot-starter-quartz | 集成 Quartz 任務調度 |
| spring-boot-starter-rsocket | 構建 RSocket 客戶端和服務端 |
| spring-boot-starter-test | 集成 JUnit Jupiter, Hamcrest 和 Mockito 測驗 Spring Boot 應用和類別庫 |
| spring-boot-starter-validation | 集成 Java Bean Validation 結合 Hibernate Validator |
| spring-boot-starter-web | 集成 Spring MVC 構建 RESTful web 應用,使用 Tomcat 作為默認內嵌容器 |
| spring-boot-starter-web-services | 集成 Spring Web Services |
| spring-boot-starter-webflux | 集成 Spring Reactive Web 構建 WebFlux 應用 |
| spring-boot-starter-websocket | 集成 Spring WebSocket 構建 WebSocket 應用 |
用到哪個技術就參考哪個技術的 Starter,Spring Boot 助你快速集成,別再手寫配置了,
2、production starters
除了上面的應用程式級 starters,還有下面的生產級 Starters 能被用于線上/生產功能:
| Starter 名稱 | Starter 描述 |
|---|---|
| spring-boot-starter-actuator | 集成 Spring Boot Actuator,提供生產功能以幫助監控和管理應用程式 |
這個意味著和任何技術、任何業務沒關系,只要用了 Spring Boot 框架,上了生產環境就能使用,也不是只有生產才能使用,只是在生產環境使用更能體驗它的意義,
3、technical starters
除了應用程式和生產 Starters,Spring Boot 還包括下面的技術類 Starters,用于幫助你排除或者替換指定的框架或技術:
| Starter 名稱 | Starter 描述 |
|---|---|
| spring-boot-starter-jetty | 集成 Jetty 作為內嵌的 servlet 容器,可用于替代 spring-boot-starter-tomcat |
| spring-boot-starter-log4j2 | 集成 Log4j2 日志框架,可用于替代 spring-boot-starter-logging |
| spring-boot-starter-logging | 集成 Logback 日志框架,這個也是默認的日志 Starter |
| spring-boot-starter-reactor-netty | 集成 Netty 作為內嵌的回應式 HTTP 服務器 |
| spring-boot-starter-tomcat | 集成 Tomcat 作為內嵌的 servlet 容器,這也是默認的 servlet 容器 starter 被集成 spring-boot-starter-web 里面 |
| spring-boot-starter-undertow | 集成 Undertow 作為內嵌的 servlet 容器,可用于替代 spring-boot-starter-tomcat |
最新請參考:
link
結語
隨著 Spring Boot 版本的不斷升級,后續可能會增加更多的 Starter,當然也有少數 Starter 可能會得到洗掉,
當然,除了第三方的 Starter,使用 Spring Boot 的公司一般也會有私有定制的 Starter,可以用于在公司內部各業務部門快速集成使用,而不用各自造輪子,
關注公眾號:java寶典
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/255824.html
標籤:Java

