54 個(gè)官方 Spring Boot Starers 出爐!別再重復(fù)造輪子了……

Java技術(shù)棧
www.javastack.cn
關(guān)注閱讀更多優(yōu)質(zhì)文章
在之前的文章,棧長(zhǎng)介紹了 Spring Boot Starters,不清楚的可以點(diǎn)擊鏈接進(jìn)去看下。
前段時(shí)間 Spring Boot 2.4.0 也發(fā)布了,本文棧長(zhǎng)再詳細(xì)總結(jié)下最新的 Spring Boot 2.4.0 官方的 Starters 都有哪些。
Spring Boot 基本介紹這里就不介紹了,關(guān)注公眾號(hào)Java技術(shù)?;貜?fù)關(guān)鍵字 "boot",可以閱讀我寫(xiě)的幾十篇往期實(shí)戰(zhàn)文章。這個(gè) Spring Boot 實(shí)戰(zhàn)倉(cāng)庫(kù),也歡迎 Star 關(guān)注學(xué)習(xí):
https://github.com/javastacks/spring-boot-best-practice
Spring Boot starters
1、application starters
你還在手寫(xiě)配置引入框架?建議看看這個(gè)表格。
這一個(gè)表格是 Spring Boot 所有應(yīng)用程序級(jí)的 Starters,一起來(lái)看都有哪些。
| Starter 名稱(chēng) | Starter 描述 |
|---|---|
| spring-boot-starter | 核心 Starter,包括自動(dòng)配置、日志及 YAML 支持等 |
| spring-boot-starter-activemq | 集成 Apache ActiveMQ,基于 JMS 的消息隊(duì)列 |
| spring-boot-starter-artemis | 集成 Apache Artemis,基于 JMS 的消息隊(duì)列 |
| spring-boot-starter-amqp | 集成 Spring AMQP 和 Rabbit MQ 的消息隊(duì)列 |
| 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(分布式數(shù)據(jù)庫(kù)) 和 Spring Data Cassandra |
| spring-boot-starter-data-cassandra-reactive | 集成 Cassandra(分布式數(shù)據(jù)庫(kù)) 和 Spring Data Cassandra Reactive |
| spring-boot-starter-data-couchbase | 集成 Couchbase(文檔型數(shù)據(jù)庫(kù)) 和 Spring Data Couchbase |
| spring-boot-starter-data-couchbase-reactive | 集成 Couchbase(文檔型數(shù)據(jù)庫(kù)) 和 Spring Data Couchbase Reactive |
| spring-boot-starter-data-elasticsearch | 集成 Elasticsearch(搜索引擎)和 Spring Data Elasticsearch |
| spring-boot-starter-data-solr | 集成 Apache Solr(搜索引擎)結(jié)合 Spring Data Solr |
| spring-boot-starter-data-jdbc | 集成 Spring Data JDBC |
| spring-boot-starter-data-jpa | 集成 Spring Data JPA 結(jié)合 Hibernate |
| spring-boot-starter-data-ldap | 集成 Spring Data LDAP |
| spring-boot-starter-data-mongodb | 集成 MongoDB(文檔型數(shù)據(jù)庫(kù))和 Spring Data MongoDB |
| spring-boot-starter-data-mongodb-reactive | 集成 MongoDB(文檔型數(shù)據(jù)庫(kù))和 Spring Data MongoDB Reactive |
| spring-boot-starter-data-neo4j | 集成 Neo4j(圖形數(shù)據(jù)庫(kù))和 Spring Data Neo4j |
| spring-boot-starter-data-r2dbc | 集成 Spring Data R2DBC |
| spring-boot-starter-data-redis | 集成 Redis(內(nèi)存數(shù)據(jù)庫(kù))結(jié)合 Spring Data Redis 和 ?Lettuce 客戶(hù)端 |
| spring-boot-starter-data-redis-reactive | 集成 Redis(內(nèi)存數(shù)據(jù)庫(kù))結(jié)合 Spring Data Redis reactive 和 Lettuce 客戶(hù)端 |
| spring-boot-starter-data-rest | 集成 Spring Data REST 暴露 Spring Data repositories 輸出 REST 資源 |
| spring-boot-starter-thymeleaf | 集成 Thymeleaf 視圖構(gòu)建 MVC web 應(yīng)用 |
| spring-boot-starter-freemarker | 集成 FreeMarker 視圖構(gòu)建 MVC web 應(yīng)用 |
| spring-boot-starter-groovy-templates | 集成 Groovy 模板視圖構(gòu)建 MVC web 應(yīng)用 |
| spring-boot-starter-hateoas | 集成 Spring MVC 和 Spring HATEOAS 構(gòu)建超媒體 RESTful Web 應(yīng)用程序 |
| spring-boot-starter-integration | 集成 Spring Integration |
| spring-boot-starter-jdbc | 集成 JDBC 結(jié)合 HikariCP 連接池 |
| spring-boot-starter-jersey | 集成 JAX-RS 和 Jersey 構(gòu)建 RESTful web 應(yīng)用,是 spring-boot-starter-web 的一個(gè)替代 Starter |
| spring-boot-starter-jooq | 集成 jOOQ 訪問(wèn) SQL 數(shù)據(jù)庫(kù),是 spring-boot-starter-data-jpa 或者 spring-boot-starter-jdbc 的替代 Starter |
| spring-boot-starter-json | 用于讀寫(xiě) JSON |
| spring-boot-starter-jta-atomikos | 集成 Atomikos 實(shí)現(xiàn) ?JTA 事務(wù) |
| spring-boot-starter-jta-bitronix | 集成 ?Bitronix 實(shí)現(xiàn) ?JTA 事務(wù)( 從 2.3.0 開(kāi)始標(biāo)識(shí)為 Deprecated) |
| spring-boot-starter-mail | 集成 Java Mail 和 Spring 框架的郵件發(fā)送功能 |
| spring-boot-starter-mustache | 集成 Mustache 視圖構(gòu)建 web 應(yīng)用 |
| spring-boot-starter-security | 集成 Spring Security |
| spring-boot-starter-oauth2-client | 集成 Spring Security’s OAuth2/OpenID 連接客戶(hù)端功能 |
| spring-boot-starter-oauth2-resource-server | 集成 Spring Security’s OAuth2 資源服務(wù)器功能 |
| spring-boot-starter-quartz | 集成 Quartz 任務(wù)調(diào)度 |
| spring-boot-starter-rsocket | 構(gòu)建 RSocket 客戶(hù)端和服務(wù)端 |
| spring-boot-starter-test | 集成 JUnit Jupiter, Hamcrest 和 Mockito 測(cè)試 Spring Boot 應(yīng)用和類(lèi)庫(kù) |
| spring-boot-starter-validation | 集成 Java Bean Validation 結(jié)合 Hibernate Validator |
| spring-boot-starter-web | 集成 Spring MVC 構(gòu)建 RESTful web 應(yīng)用,使用 ?Tomcat 作為默認(rèn)內(nèi)嵌容器 |
| spring-boot-starter-web-services | 集成 Spring Web Services |
| spring-boot-starter-webflux | 集成 Spring Reactive Web 構(gòu)建 WebFlux 應(yīng)用 |
| spring-boot-starter-websocket | 集成 Spring WebSocket 構(gòu)建 WebSocket 應(yīng)用 |
用到哪個(gè)技術(shù)就引用哪個(gè)技術(shù)的 Starter,Spring Boot 助你快速集成,別再手寫(xiě)配置了。
2、production starters
除了上面的應(yīng)用程序級(jí) starters,還有下面的生產(chǎn)級(jí) Starters 能被用于線上/生產(chǎn)功能:
| Starter 名稱(chēng) | Starter 描述 |
|---|---|
| spring-boot-starter-actuator | 集成 Spring Boot Actuator,提供生產(chǎn)功能以幫助監(jiān)控和管理應(yīng)用程序 |
這個(gè)意味著和任何技術(shù)、任何業(yè)務(wù)沒(méi)關(guān)系,只要用了 Spring Boot 框架,上了生產(chǎn)環(huán)境就能使用,也不是只有生產(chǎn)才能使用,只是在生產(chǎn)環(huán)境使用更能體驗(yàn)它的意義。
3、technical starters
除了應(yīng)用程序和生產(chǎn) Starters,Spring Boot 還包括下面的技術(shù)類(lèi) Starters,用于幫助你排除或者替換指定的框架或技術(shù):
| Starter 名稱(chēng) | Starter 描述 |
|---|---|
| spring-boot-starter-jetty | 集成 Jetty 作為內(nèi)嵌的 servlet 容器,可用于替代 spring-boot-starter-tomcat |
| spring-boot-starter-log4j2 | 集成 Log4j2 日志框架,可用于替代 spring-boot-starter-logging |
| spring-boot-starter-logging | 集成 Logback 日志框架,這個(gè)也是默認(rèn)的日志 Starter |
| spring-boot-starter-reactor-netty | 集成 Netty 作為內(nèi)嵌的響應(yīng)式 HTTP 服務(wù)器 |
| spring-boot-starter-tomcat | 集成 Tomcat 作為內(nèi)嵌的 servlet 容器,這也是默認(rèn)的 servlet 容器 starter 被集成 spring-boot-starter-web 里面 |
| spring-boot-starter-undertow | 集成 Undertow 作為內(nèi)嵌的 servlet 容器,可用于替代 spring-boot-starter-tomcat |
這個(gè)表格的技術(shù)也很熟悉了,Spring Boot 默認(rèn)內(nèi)嵌 Servlet 容器為 Tomcat,如果你想換成 Jetty、Undertow 或者其他容器,又或者你想換成其他的日志框架,都在這個(gè)表格里,怎么換?點(diǎn)擊這里參考我之前寫(xiě)的這篇教程。
最新請(qǐng)參考:
https://docs.spring.io/spring-boot/docs/
結(jié)語(yǔ)
本文一共收集了 54 個(gè) Spring Boot 官方的 Starter,參考來(lái)源于 Spring Boot 2.4.0,不限于這 54 個(gè),隨著 Spring Boot 版本的不斷升級(jí),后續(xù)可能會(huì)增加更多的 Starter,當(dāng)然也有少數(shù) Starter 可能會(huì)得到刪除。
官方自帶的可以直接拿來(lái)用,大家看看,就沒(méi)有必要重復(fù)造輪子了。
如果 Spring Boot 官方?jīng)]有自帶的 Starter,一般第三方的框架也都會(huì)提供自制的 Spring Boot Starter,如:Dubbo、Zookeeper 等,這樣只要幾個(gè)依賴(lài),幾行配置參數(shù)就能輕松實(shí)現(xiàn)集成。后面棧長(zhǎng)再整理一篇常用的第三方的 Starters,關(guān)注公眾號(hào)Java技術(shù)棧第一時(shí)間推送。
當(dāng)然,除了第三方的 Starter,使用 Spring Boot 的公司一般也會(huì)有私有定制的 Starter,可以用于在公司內(nèi)部各業(yè)務(wù)部門(mén)快速集成使用,而不用各自造輪子。
除了會(huì)使用 Spring Boot Starter,了解它的原理也非常有必要,因?yàn)槟愕纳纤倦S時(shí)都會(huì)讓你寫(xiě)一個(gè),怎么寫(xiě),看這里!
好了,今天的分享就到這了,后續(xù)有大版本更新,官方 Starters 調(diào)整比較大的話,后續(xù)棧長(zhǎng)再繼續(xù)更新本文,關(guān)注公眾號(hào)Java技術(shù)棧第一時(shí)間推送。
如果有幫助,點(diǎn)個(gè)在看鼓勵(lì)一下哦!也歡迎分享轉(zhuǎn)發(fā)給更多有需要的朋友~
版權(quán)申明:本文系公眾號(hào) "Java技術(shù)棧" 原創(chuàng),原創(chuàng)實(shí)屬不易,轉(zhuǎn)載、引用本文內(nèi)容請(qǐng)注明出處,禁止抄襲、洗稿,請(qǐng)自重,尊重他人勞動(dòng)成果和知識(shí)產(chǎn)權(quán)。






關(guān)注Java技術(shù)??锤喔韶?/strong>


