“ 該系列的文章主要參考Spring Boot的官方文檔來進行翻譯卖子,逐步將官方文檔翻譯過來抬虽,方便大家共同學(xué)習(xí)和討論官觅,但是畢竟能力有限,如有問題阐污,感謝大家留言指正休涤。”
Starters
Starters是Spring Boot提供的一組非常方便的依賴描述器,你可以在你的應(yīng)用中直接使用它們笛辟。你可以獲得所有你需要的Spring和相關(guān)技術(shù)一站式服務(wù)功氨,你不需要翻閱什么示例代碼,不需要復(fù)制粘貼大量的依賴配置手幢。比如捷凄,當(dāng)你想使用Spring和JPA來訪問數(shù)據(jù)庫時,在你的項目中添加 spring-boot-starter-data-jpa
依賴即可围来。
Starters包含了你啟動搭建并啟動一個項目所需的大量依賴跺涤,并且還提供一致的、可管理的傳遞性依賴支持监透。
What’s in a name(名字里面都有什么桶错?)
所有的官方starter遵循了一個相似的命名模式: spring-boot-starter-*
,其中的 *
是一個特殊符號胀蛮,代表不同類型的應(yīng)用院刁。這種命名模式能讓你很方便地找到你想要的那個starter。很多IDE里面集成的Maven都支持你根據(jù)名字來搜索依賴粪狼,比如安裝了相應(yīng)的Eclipse或者STS插件之后退腥,你可以在pom編輯器中輸入“spring-boot-starter”,然后通過按住 ctrl-space
來獲取一個完整的列表供你選擇再榄。
在“創(chuàng)建你自己的Starter”那一章中阅虫,我們提到了第三方的starters不應(yīng)該以 spring-boot
作為命名前綴,因為這個前綴是Spring Boot官方制品預(yù)留的不跟,一般情況下颓帝,第三方的starter都是使用項目名稱作為命名前綴的,比如一個第三方的starter項目叫做 thirdpartyproject
窝革,那么它的starter可以命名為 thirdpartyproject-spring-boot-starter
购城。
Spring Boot官方在 org.springframework.boot
組下提供了一下這些應(yīng)用starters供大家使用:
spring-boot-starter
:核心starter,包含自動配置的支持虐译,日志記錄和YAML文件的支持瘪板;
spring-boot-starter-activemq
:支持Apache ActiveMQ啟動JMS消息的starter。
spring-boot-starter-amqp
:接入Spring AMQP漆诽、Rabbit MQ時使用的starter侮攀。
spring-boot-starter-aop
:通過Spring AOP锣枝、AspectJ實現(xiàn)面向切面編程時使用的starter。
spring-boot-starter-artemis
:基于Apache Artemis來實現(xiàn)JMS消息系統(tǒng)時使用的starter兰英。
spring-boot-starter-batch
:實現(xiàn)Spring Batch時使用的starter撇叁。
spring-boot-starter-cache
:實現(xiàn)Spring框架的緩存支持時使用的starter。
spring-boot-starter-cloud-connectors
:實現(xiàn)在云平臺上簡單而便利地連接微服務(wù)時的Spring Cloud連接器時使用的starter畦贸,就如同Cloud Foundry 和 Heroku一樣陨闹。
spring-boot-starter-data-cassandra
:使用Cassandra分布式數(shù)據(jù)庫或者Spring Data Cassandra依賴的starter。
spring-boot-starter-data-cassandra-reactive
:使用Cassandra分布式數(shù)據(jù)庫和Spring Data Cassandra Reactive時依賴的starter薄坏。
spring-boot-starter-data-couchbase
:使用Couchbase面向文檔的數(shù)據(jù)庫和Spring Data Couchbase時依賴的starter趋厉。
spring-boot-starter-data-couchbase-reactive
:使用Couchbase面向文檔的數(shù)據(jù)庫和Spring Data Couchbase Reactive時依賴的starter。
spring-boot-starter-data-elasticsearch
:使用Elasticsearch搜索和分析引擎和Spring Data Elasticsearch時依賴的starter胶坠。
spring-boot-starter-data-jdbc
:使用Spring Data JDBC時依賴的starter君账。
spring-boot-starter-data-jpa
:使用Spring數(shù)據(jù)JPA與Hibernate時依賴的starter。
spring-boot-starter-data-ldap
:使用Spring Data LDAP時依賴的starter沈善。
spring-boot-starter-data-mongodb
:使用MongoDB面向文檔的數(shù)據(jù)庫和Spring Data MongoDB時依賴的starter杈绸。
spring-boot-starter-data-mongodb-reactive
:使用MongoDB面向文檔的數(shù)據(jù)庫和Spring Data MongoDB Recative時依賴的starter。
spring-boot-starter-data-neo4j
:使用Neo4j圖數(shù)據(jù)庫和Spring Data Neo4j時依賴的starter矮瘟。
spring-boot-starter-data-redis
:使用Redis key-value 數(shù)據(jù)存儲與Spring Data Redis和Jedis客戶端時依賴的starter瞳脓。
spring-boot-starter-data-redis-reactive
:使用Redis key-value 數(shù)據(jù)存儲與Spring Data Redis Reactive和Jedis客戶端時依賴的starter。
spring-boot-starter-data-rest
:通過使用Spring Data REST在REST上暴露Spring數(shù)據(jù)庫時依賴的starter澈侠。
spring-boot-starter-data-solr
:使用Apache Solr搜索平臺與Spring Data Solr時依賴的starter劫侧。
spring-boot-starter-freemarker
:使用FreeMarker視圖構(gòu)建MVC Web應(yīng)用程序時依賴的starter。
spring-boot-starter-groovy-templates
:使用Groovy模板視圖構(gòu)建MVC Web應(yīng)用程序時依賴的starter哨啃。
spring-boot-starter-hateoas
:使用Spring MVC和Spring HATEOAS構(gòu)建基于超媒體的RESTful Web應(yīng)用程序時依賴的starter烧栋。
spring-boot-starter-integration
:使用Spring Integration時依賴的starter。
spring-boot-starter-jdbc
:使用JDBC與Tomcat JDBC連接池時依賴的starter拳球。
spring-boot-starter-jersey
:使用JAX-RS和Jersey構(gòu)建RESTful Web應(yīng)用程序時依賴的starter审姓。spring-boot-starter-web的替代方案。
spring-boot-starter-jooq
:使用jOOQ訪問SQL數(shù)據(jù)庫時依賴的starter祝峻。spring-boot-starter-data-jpa或spring-boot-starter-jdbc的替代方案魔吐。
spring-boot-starter-json
:用于讀取和寫入json時依賴的starter。
spring-boot-starter-jta-atomikos
:使用Atomikos的JTA事務(wù)時依賴的starter莱找。
spring-boot-starter-jta-bitronix
:使用Bitronix進行JTA 事務(wù)時依賴的starter酬姆。
spring-boot-starter-mail
:使用Java Mail 或者 Spring框架的Email發(fā)送支持時依賴的starter。
spring-boot-starter-mustache
:使用Mustache視圖構(gòu)建MVC Web應(yīng)用程序時依賴的starter奥溺。
spring-boot-starter-oauth2-client
:使用Spring Security’s OAuth2/OpenID連接客戶端時依賴的starter辞色。
spring-boot-starter-oauth2-resource-server
:使用Spring Security’s OAuth2/OpenID服務(wù)端時依賴的starter。
spring-boot-starter-quartz
:使用Spring Boot quartz時依賴的starter浮定。
spring-boot-starter-security
:使用Spring Boot security時依賴的starter相满。
spring-boot-starter-test
:使用JUnit层亿,Hamcrest和Mockito的庫測試Spring Boot應(yīng)用程序時依賴的starter。
spring-boot-starter-thymeleaf
:使用Thymeleaf視圖構(gòu)建MVC Web應(yīng)用程序時依賴的starter立美。
spring-boot-starter-validation
:使用Java Bean Validation 與Hibernate Validator時依賴的starter匿又。
spring-boot-starter-web
:使用Spring MVC構(gòu)建Web,包括RESTful應(yīng)用程序悯辙。使用Tomcat作為默認的嵌入式容器時依賴的starter琳省。
spring-boot-starter-web-services
:實現(xiàn)Spring Web Services時依賴的starter迎吵。
spring-boot-starter-webflux
:使用Spring Framework’s Reactive Web support特性構(gòu)建WebFlux應(yīng)用時依賴的starter躲撰。
spring-boot-starter-websocket
:使用Spring Framework’s WebSocket support特性構(gòu)建WebSocket應(yīng)用時依賴的starter。
除了這些starters击费,下面的starters還可以用來添加生產(chǎn)環(huán)境的特性
spring-boot-starter-actuator
:使用Spring Boot Actuator提供生產(chǎn)準備功能拢蛋,可幫助您監(jiān)控和管理應(yīng)用程序時依賴的starter。
最后蔫巩,Spring Boot還提供了以下starters谆棱,用來排除或者替換特定技術(shù):
spring-boot-starter-jetty
:使用Jetty作為嵌入式servlet容器時依賴的starter。spring-boot-starter-tomcat的替代方案圆仔。
spring-boot-starter-log4j2
:使用Log4j2進行日志記錄時依賴的starter垃瞧。spring-boot-start-logging的替代方法。
spring-boot-starter-logging
:使用Logback進行日志記錄時依賴的starter坪郭。默認的日志啟動器个从。
spring-boot-starter-reactor-netty
:使用Reactive Netty作為嵌入式reactive http服務(wù)器時依賴的starter。
spring-boot-starter-tomcat
:使用Tomcat作為嵌入式servlet容器時依賴的starter歪沃。spring-boot-starter-web的默認servlet容器啟動器嗦锐。
spring-boot-starter-undertow
:使用Undertow作為嵌入式servlet容器時依賴的starter。spring-boot-starter-tomcat的替代方案沪曙。
查看GitHub上位于spring-boot-starters模塊內(nèi)的README文件奕污,可以獲取到一個社區(qū)貢獻的其他starter POMs列表。
END