spring-boot-application-starters介紹

引言

本文主要介紹spring-boot官方提供的常用的starters茁肠,對應(yīng)的spring-boot版本均為1.4.2.RELEASE,官方文檔地址為http://docs.spring.io/spring-boot/docs/1.4.2.RELEASE/reference/html/using-boot-build-systems.html#using-boot-starter辜伟,官方提供的starters均以spring-boot-starter-開頭,第三方提供的starters均以acme-spring-boot-starter開頭蟋字,當(dāng)然你也可以自己定義starters硅堆。

Database

Name Description Pom
spring-boot-starter-data-redis 集成了Spring Data Redisredis,redis是一種NoSQL數(shù)據(jù)庫 Pom
spring-boot-starter-data-mongodb 集成了Spring Data MongoDBmongodb,mongodb是一種NoSQL數(shù)據(jù)庫 Pom
spring-boot-starter-data-neo4j 集成了Spring Data Neo4jNeo4j,Neo4j是一種圖數(shù)據(jù)庫 Pom
spring-boot-starter-data-couchbase 集成了Spring Data CouchbaseCouchbase,couchbase是一種NoSQL數(shù)據(jù)庫 Pom
spring-boot-starter-data-cassandra 集成了Spring Data Cassandracassandra,cassandra是一種開源的分布式NOSQL數(shù)據(jù)庫,最早由facebook開發(fā),后捐贈給Apache Pom
spring-boot-starter-data-gemfire 集成了Spring Data GemFireGemFire,GemFire是一種NoSQL數(shù)據(jù)庫 Pom

Servlet Container

這篇文章解釋了什么是一個Servlet Container。目前Servlet Container有很多昭灵,詳細(xì)可以參考維基百科吠裆。spring-boot集成了以下幾款開源的Servlet Container

  • tomcattomcatspring-boot默認(rèn)集成的Servlet Container
  • undertowundertow是一款輕量級烂完、靈活的试疙、可嵌入的、并支持Web Socket協(xié)議的開源容器窜护。
  • jettyjetty是一款由eclipse維護的開源容器效斑,目前使用也很廣泛。
Name Description Pom
spring-boot-starter-tomcat spring-boot-starter-web默認(rèn)集成的容器 Pom
spring-boot-starter-undertow 集成了undertow Pom
spring-boot-starter-jetty 集成了jetty Pom

Rest

Restrepresentational state transfer的縮寫柱徙,意思是表達性狀態(tài)轉(zhuǎn)換缓屠。Rest是一種架構(gòu)風(fēng)格,它包含了一個分布式超文本系統(tǒng)中對于組件护侮、連接器和數(shù)據(jù)的約束敌完。想了解更多關(guān)于Rest點擊此處
HATEOASHypermedia as the engine of application state的縮寫,意思是超媒體即應(yīng)用狀態(tài)引擎羊初。HATEOASRest架構(gòu)風(fēng)格中最復(fù)雜的約束滨溉,也是構(gòu)建成熟Rest服務(wù)的核心。

JAX-RSJava API for RESTful Web Services的縮寫长赞,是一個Java編程語言的應(yīng)用程序接口晦攒,支持按照Rest架構(gòu)風(fēng)格創(chuàng)建Web服務(wù)。目前已知的JAX-RS有4種得哆,Jersey是其中的一種實現(xiàn)脯颜,由Sun開發(fā)的產(chǎn)品級質(zhì)量的JAX-RS的參考實現(xiàn)。當(dāng)然贩据,Jersey也支持HATEOAS約束栋操。

spring-hateoasspring-data-restspring旗下的兩個子項目,spring-data-rest包含了spring-hateoas饱亮,雖然spring-hateoas實現(xiàn)了HATEOAS矾芙,但是spring-data-rest并沒有真正的實現(xiàn)JAX-RS規(guī)范。

spring-boot提供了以下幾種來快速構(gòu)建Rest服務(wù):

Name Description Pom
spring-boot-starter-web 默認(rèn)是支持RESTful Pom
spring-boot-starter-hateoas 集成了spring-mvcspring-hateoas Pom
spring-boot-starter-jersey 集成了spring-mvcJersey Pom
spring-boot-starter-data-rest 集成了spring-data-restspring-mvc Pom

Socia API

spring-socialspring旗下的一個擴展子項目近上,
它主要方便你對Facebook剔宪,TwitterLinkedIn等SAAS服務(wù)提供的API的一個使用壹无。目前spring-social的最新版本是1.1.4.RELEASE歼跟。它有以下幾個模塊組成:

  • spring-social-web
  • spring-social-config
  • spring-social-core
  • spring-social-security

目前已正式發(fā)布支持的有FacebookTwitter格遭,LinkedIn

  • spring-social-linkedin
  • spring-social-facebook
  • spring-social-twitter

正在孵化的有GithubTripit

  • spring-social-github
  • spring-social-tripit

spring-boot集成了Facebook哈街,TwitterLinkedIn

Name Description Pom
spring-boot-starter-social-linkedin 集成了spring-boot-starter-webspring-social-linkedin Pom
spring-boot-starter-social-facebook 集成了spring-boot-starter-webspring-social-facebook Pom
spring-boot-starter-social-twitter 集成了spring-boot-starter-webspring-social-twitter Pom

JTA

JTAJava Transaction API的縮寫拒迅,意思是Java事務(wù)API骚秦,是一個Java企業(yè)版的應(yīng)用程序接口,在Java環(huán)境中璧微,允許完成跨越多個XA資源的分布式事務(wù)作箍。JTA是在Java社區(qū)過程下制定的規(guī)范。

目前開源的JTA實現(xiàn)有以下幾個:

  • narayananarayanajboss下的一款開源的JTA
  • bitronixbitronix是一款開源的JTA前硫,不過目前已沒人維護
  • atomikosatomikos目前提供了商業(yè)版本的維護胞得,但其社區(qū)版仍然是開源的。
Name Description Pom
spring-boot-starter-jta-narayana 集成了JTA transactionsnarayana Pom
spring-boot-starter-jta-bitronix 集成了JTA transactionsbitronix Pom
spring-boot-starter-jta-atomikos 集成了JTA transactionsatomikos Pom

Template Engine

spring-boot-1.4.2.RELEASE內(nèi)置支持的模板引擎有
thymeleaf屹电,mustache阶剑,groovy跃巡,freemarkervelocity牧愁。不過從1.4將不再支持velocity素邪。

Name Description Pom
spring-boot-starter-thymeleaf 集成了spring-boot-starter-webthymeleaf模板引擎 Pom
spring-boot-starter-mustache 集成了spring-boot-starter-webmustache模板引擎 Pom
spring-boot-starter-groovy-templates 集成了spring-boot-starter-webgroovy-templates模板引擎 Pom
spring-boot-starter-freemarker 集成了spring-boot-starter-webfreemarker模板引擎 Pom
spring-boot-starter-velocity 集成了spring-boot-starter-webvelocity模板引擎 Pom

Logging

目前主流的Java日志框架有log4jlogbacklog4j2猪半。spring-boot集成了logbacklog4j2兔朦。

Name Description Pom
spring-boot-starter-logging 集成logback Pom
spring-boot-starter-log4j2 集成log4j2 Pom

Test

目前主流的Java測試框架有JUnitHamcrestMockito磨确。spring-boot集成了這三者沽甥。

Name Description Pom
spring-boot-starter-test 集成了JUnitHamcrestMockito Pom

Security

spring-securityspring旗下的一個子項目乏奥,支持授權(quán)和認(rèn)證摆舟,可以防止session fixation(會話固定)、clickjacking(點擊劫持)英融、cross site request forgery(CSRF)(跨站請求偽造)等攻擊盏檐。spring-boot集成了spring-security

Name Description Pom
spring-boot-starter-security 集成了spring-security Pom

MQ

JMSJava Message Service的縮寫驶悟,意思是Java消息服務(wù)胡野,是一個Java服務(wù)中關(guān)于面向消息中間件的API,用于在兩個應(yīng)用程序之間或分布式系統(tǒng)中發(fā)送消息痕鳍,進行異步通信硫豆。JMS規(guī)范包括兩種消息模式,點對點發(fā)布者/訂閱者笼呆,支持同步異步的消息處理熊响,支持面向事件的方法接收消息。目前主流的開源實現(xiàn)有Apache ActiveMQKafka诗赌。

AMQPAdvanced Message Queuing Protocol的縮寫汗茄,意思是高級消息隊列協(xié)議,是一個異步消息傳遞所使用的應(yīng)用層協(xié)議規(guī)范铭若。作為線路層協(xié)議洪碳,而不是API(例如JMS),AMQP客戶端能夠無視消息的來源任意發(fā)送和接受信息叼屠。目前主流的開源實現(xiàn)有RabbitMQ瞳腌。

JMSAMQP的對比:

JMS AMQP
定義 JAVA API Protocol
跨語言
跨平臺
消息模型 one to one and publish/subscriber direct, fanout, topic, headers
消息類型 text,map,byte,stream,object byte

spring-boot集成了ActiveMQRabbitMQ

Name Description Pom
spring-boot-starter-activemq 集成ActiveMQ Pom
spring-boot-starter-amqp 集成RabbitMQ Pom

Production Starters

Name Description Pom

參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嫂侍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌挑宠,老刑警劉巖菲盾,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異痹栖,居然都是意外死亡亿汞,警方通過查閱死者的電腦和手機瞭空,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門揪阿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人咆畏,你說我怎么就攤上這事南捂。” “怎么了旧找?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵溺健,是天一觀的道長。 經(jīng)常有香客問我钮蛛,道長鞭缭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任魏颓,我火速辦了婚禮岭辣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘甸饱。我一直安慰自己沦童,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布叹话。 她就那樣靜靜地躺著偷遗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪驼壶。 梳的紋絲不亂的頭發(fā)上氏豌,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天,我揣著相機與錄音热凹,去河邊找鬼泵喘。 笑死,一個胖子當(dāng)著我的面吹牛碌嘀,可吹牛的內(nèi)容都是我干的涣旨。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼股冗,長吁一口氣:“原來是場噩夢啊……” “哼霹陡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤烹棉,失蹤者是張志新(化名)和其女友劉穎攒霹,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體浆洗,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡催束,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了伏社。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抠刺。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖摘昌,靈堂內(nèi)的尸體忽然破棺而出速妖,到底是詐尸還是另有隱情,我是刑警寧澤聪黎,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布罕容,位于F島的核電站滩届,受9級特大地震影響杆勇,放射性物質(zhì)發(fā)生泄漏括儒。R本人自食惡果不足惜斗塘,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一贱除、第九天 我趴在偏房一處隱蔽的房頂上張望签杈。 院中可真熱鬧成艘,春花似錦爪飘、人聲如沸梧喷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽铺敌。三九已至汇歹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間偿凭,已是汗流浹背产弹。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留弯囊,地道東北人痰哨。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像匾嘱,于是被迫代替她去往敵國和親斤斧。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容