SpringBoot快速構建應用工具

Spring Initializr

Spring提供了一個快速構建應用的工具,只需要界面化的選擇你需要的jar依賴拄衰,就可以生成標準的項目代碼。
地址: https://start.spring.io/

  • 項目支持 Maven和Gradle兩種管理方式
  • 語言支持 Java榛了,Kotlin玉锌,Groovy
  • 可以選擇SpringBoot的版本
  • 輸入 項目信息選擇jar依賴,既可以自動生成項目代碼
  • 可以預覽項目結構和代碼(快捷鍵ctrl+space)
  • 可以把你的項目分享瓮顽,就是一個url县好,url后拼接相關參數

Spring所有的依賴如下,我們簡單介紹下暖混。

開發(fā)者工具 Developer Tools

  • Spring Boot DevTools: 提供應用的快速重啟和代碼的熱部署缕贡,提升開發(fā)速度,增強開發(fā)體驗拣播。

  • Lombok: 自動生成樣本代碼的Java注解庫善绎。可以在編譯的時候根據注解幫你增加需要的樣本代碼(get/set代碼诫尽,構造函數禀酱,toString和日志等等),增強開發(fā)體驗牧嫉。

  • Spring Configuration Processor:配置文件提示工具剂跟,當你在application.yml或者application.properties中輸入時减途,會有相應的提示,方便我們寫配置文件曹洽。原理是會自動給@ConfigurationProperties注解的類生成一個元數據信息的json文件鳍置,開發(fā)工具比如idea會自動掃描識別這個josn然后在你寫配置文件的時候給予提示。

網站 Web

  • Spring Web:使用Spring MVC構建web或Restful應用送淆,默認使用Tomcat做嵌入式的容器税产。

  • Spring Reactive Web:使用Spring WebFlux 和Netty構建響應式web應用。

  • Rest Repositories: 使用Spring Data REST構建一個REST的方式訪問數控倉庫偷崩,支持Spring Data JPA辟拷、Spring Data MongoDB、Spring Data Neo4j阐斜、Spring Data GemFire衫冻、Spring Data Cassandra的 repository 自動轉換成REST服務。就是把數據庫映射成了rest接口谒出,可以方便的調用

  • Spring Session:提供關于Session管理的api隅俘,簡化開發(fā),比如多進程分布式共享Session更加簡單快捷笤喳。

  • Rest Repositories HAL Browser:提供支持HAL Brower規(guī)范的Rest方式訪問數據倉庫为居。HAL 即Hypertext Application Language的簡稱,就是一種json數據規(guī)范杀狡,簡單來說就是返回json數據的同時也返回服務器支持的方式方式和url等信息,目前github的接口就是使用這種方式捣卤。

  • Spring HATEOAS:使用Spring/Spring MVC時忍抽,簡化創(chuàng)建支持HATEOAS規(guī)范的RestFul API, HATEOAS(Hypermedia as the engine of application state)

  • Spring Web Services:簡化Web Services開發(fā)祟绊,提供SOAP協(xié)議支持遥赚,提供多種XML操作方式。SOAP(原為Simple Object Access Protocol的[首字母縮寫]"首字母縮寫")凫佛,即簡單對象訪問協(xié)議)是交換數據的一種協(xié)議規(guī)范讲坎。

  • Jersey: Java開發(fā)的RestFul的web服務孕惜,支持JAX-RS API。

  • Vaadin :Java框架晨炕,用于基于Web組件構建富客戶端應用衫画。Vaadin 就是用Java寫UI,而不用js/html/css寫UI瓮栗,富客戶端可以簡單理解為頁面交互豐富(js實現動態(tài)交互)削罩。

模板引擎 Template Engines

  • Thymeleaf: 面向HTML的模板引擎,Spring推薦使用的主要用來編寫html的模板引擎费奸。

  • Apache Freemarker: Freemarker老牌模板引擎了弥激,不多說

  • Mustache :邏輯模板,就是沒有if-else或者for語句货邓,只用標簽秆撮。

  • Groovy Templates: Groovy語言的模板引擎四濒。

安全 Security


各種安全框架的集成

  • Spring Security: Spring官方的安全框架换况,高度定制的身份認證和訪問控制框架。

  • OAuth2 Client: 支持OAuth2標準的客戶端

  • OAuth2 Resourec Server:支持OAuth2標準的服務戶端

  • Spring LDAP:LDAP協(xié)議支持盗蟆。輕型目錄訪問協(xié)議(英文:Lightweight Directory Access Protocol戈二,縮寫:LDAP,/??ld?p/)是一個開放的喳资,中立的觉吭,工業(yè)標準的應用協(xié)議,通過IP協(xié)議提供訪問控制和維護分布式信息的目錄信息

  • Okta: 支持Okat

關系型數據庫 SQL


各種關系型數據庫的支持和集成

  • JDBC API : jdbc封裝
  • Spring Data JPA: JPA 規(guī)范支持
  • Spring Data JDBC: 一個簡化jdbc的模板
  • Spring DAta R2DBC[Experimental]:實驗特性仆邓,反應性數據庫連接鲜滩,Reactive Relational Database Connectivity
  • Mybatis Framework: Mybais框架支持
  • Liquibase Migration: Liquibase 是一個數據庫版本控制框架。
  • Fyway Migration: Fyway 也是一個數據庫版本控制框架节值。
  • JooQ Access Layer: 類似JQuery風格的流式api操作數據庫的框架JooQ徙硅。
  • IBM DB2 Driver: db2 驅動
  • Apache Derby DataBase: Apache下完全由java實現的開源的關系型數據庫。
  • H2 DataBase: 內存數據庫(占用2M左右內存)搞疗,簡單方便快捷
  • HyperSQL DataBase:輕量級的Java數據庫
  • MS SQL Server Driver:ms sql 驅動
  • MySQL Driver: mysql 驅動
  • Oracle Driver: oracler 驅動
  • PostgreSQL Driver: postgreSQL 驅動

非關系型數據庫 NoSQl


各種nosql數據庫的支持和集成

  • Spring Data Redis : redis數據庫
  • Spirn gData Reactive Reis: 響應式訪問Redis
  • Spirng Data MongoDB: MongoDB數據庫
  • Spring Data Reactive MongoDB: 響應式訪問MongoDB
  • Spring Data Elasticsearch(Access +Driver):Elasticsearch 訪問加驅動嗓蘑,搜索引擎
  • Spring Data For Apache solr:solr是Elasticsearch的具體實現,也是一個優(yōu)秀的搜索引擎框架
  • Spring Data for Apache Cassandra:Cassandra是一個免費開源的可以擴展的分布式nosql數據庫
  • Spirng Data Reactive for Apache Cassandra:響應式訪問Cassandra
  • Spring for Apache Geode:Apache Geode是一個數據管理平臺匿乃,可幫助用戶大規(guī)模構建與Pivotal Cloud Cache兼容的實時桩皿,高度并發(fā),高性能和可靠的Spring Boot應用程序幢炸。
  • Spirng Data Couchbase:NoSQL面向文檔的數據庫泄隔,提供內存優(yōu)先的體系結構,地理分布式部署和工作負載隔離宛徊。
  • Spirng Data Reactive Couchbae:響應式訪問Couchbase
  • Spirng Data Neo4j:java版的圖數據庫梅尤,常用于分析用戶關系柜思。

消息 Messaging


各種消息中間件的支持和集成

  • Spring Integration
  • Spring for RabbitMQ
  • Spring for Apache kafka
  • Spring for Apache kafka Streams
  • Spirng for Apache ActiveMQ5
  • Spirng for Apache ActiveMQ artemis
  • WebSocket
  • RSocket
  • Apache Camel
  • Solace PubSub+

輸入/輸出 I/O

  • Spring Batch :批處理框架
  • Java Mail Sender: 郵件支持
  • Quartz Scheduler: 任務調度
  • Spring Cache abstraction: 緩存統(tǒng)一抽象層

監(jiān)控 ops

  • Spring Boot Actuator : 監(jiān)控運行狀況、指標巷燥、會話等赡盘。
  • Spring Boot Admin client: 一個web界面版的監(jiān)控,客戶端
  • Spring Boot Admin server: 服務端

測試 Testing

  • Spring REST Docs: 通過結合使用Asciidoctor手寫和通過Spring MVC Test自動生成的代碼片段來記錄RESTful服務缰揪。
  • Contract Verifier:通過啟用“消費者驅動合同”(CDC)開發(fā)陨享,將TDD升級到軟件體系結構級別。
  • Contract Stub Runner:用于基于HTTP /消息傳遞的通信的Stub Runner钝腺。允許通過RestDocs測試創(chuàng)建WireMock存根抛姑。
  • Embedded LDAP Server: LDAP 服務測試,平臺無關
  • Embedded MongoDB Database: MongoDB測試 艳狐,平臺無關

Spring Cloud


cloud基礎服務定硝,特性功能無關

  • Cloud Bootstrap:Spring Cloud啟用相關,應用上下文環(huán)境相關毫目。
  • Function:支持函數式五服務器架構
  • Task: 任務相關

Spring Clouud Security安全


Spring Security和OAuth2兩種認證模式蔬啡。

Spring Cloud Tool工具

  • Cloud connectors:簡化了在Cloud Foundry和Heroku等云平臺中連接服務和提高操作環(huán)境意識的過程。
  • Open Service Broker: 框架镀虐,用于構建實現Open Service Broker API的Spring Boot應用程序箱蟆,該應用程序可以向在Cloud Foundry官硝,Kubernetes和OpenShift等云原生平臺內運行的應用程序提供服務念祭。

Spring Cloud Config 分布式配置

  • Config Client : 配置的客戶端,用于拉取配置信息
  • Config Server: 配置的服務端
  • Vault Configuration:Vault做配置中心
  • Apache Zookeeper Configuration: Zookeeper做配置中心
  • Consul Configuration: Consul做配置中心

Spring Cloud Discovery 服務發(fā)現

image.png
  • Eureka Discovery Client:Eureka 客戶端
  • Eureka Server: Eureka的服務端
  • Apache Zookeeper Discovery:
  • Cloud Foundry Discovery: 支持 Cloud Foundry
  • Consul Discovery: 支持Consul

路由

  • Zuul:網關Zuul
  • Gateway:網關
  • Ribbon:負載均衡
  • OpenFeign:聲明式REST客戶端
  • Cloud LoadBalancer: 負載均衡薛训,統(tǒng)一接口封裝層

斷路器

  • Resilience4J:Resilience4J斷路器支持
  • Hystrix: Hystrix 斷路器支持
  • Hystrix Dashboard: Hystrix 儀表盤界面支持
  • Turbine : 使用帶有Turbine和服務器發(fā)送事件的spring-cloud-netflix的斷路器指標聚合恨旱。
  • Turbine Stream:使用帶有Turbine和Spring Cloud Stream的spring-cloud-netflix的斷路器度量聚合(需要綁定程序辈毯,例如Apache Kafka或RabbitMQ)。

追蹤

  • Sleuth:使用Sleuth通過日志進行分布式跟蹤
  • Zipkin Client:支持Zipkin進行分布式跟蹤

消息服務

  • Cloud Bus: 消息總線搜贤,需要綁定程序比如Kafka或RabbitMQ
  • Cloud Stream: 需要綁定程序比如Kafka或RabbitMQ

云計算支持

Foundry 云平臺支持

亞馬遜云 AWS

微軟云 Microsoft Azure

谷歌云 Goole Cloud Platform

開發(fā)工具 IDEA

IDEA集成了 Spring Initializr谆沃,可以更加快速的創(chuàng)建一個Spring應用。

**File--New-Project--選擇Spring Initializr

點擊 next后入客,idea會請求https://start.spring.io/拉取依賴信息管毙。


選擇你的項目構建方式和開發(fā)語言并輸入項目信息

選擇項目依賴,這里跟sping頁面一致桌硫,點選更方便夭咬。


選擇后 右邊會有顯示,簡單快捷铆隘。


方便復制POM依賴卓舵,這里放個全部的依賴配置

Spring POM 完全配置,方便復制

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末膀钠,一起剝皮案震驚了整個濱河市掏湾,隨后出現的幾起案子裹虫,更是在濱河造成了極大的恐慌,老刑警劉巖融击,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件筑公,死亡現場離奇詭異,居然都是意外死亡尊浪,警方通過查閱死者的電腦和手機匣屡,發(fā)現死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拇涤,“玉大人捣作,你說我怎么就攤上這事《焓浚” “怎么了券躁?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長掉盅。 經常有香客問我也拜,道長,這世上最難降的妖魔是什么怔接? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任搪泳,我火速辦了婚禮稀轨,結果婚禮上扼脐,老公的妹妹穿的比我還像新娘。我一直安慰自己奋刽,他們只是感情好瓦侮,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著佣谐,像睡著了一般肚吏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狭魂,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天罚攀,我揣著相機與錄音,去河邊找鬼雌澄。 笑死斋泄,一個胖子當著我的面吹牛,可吹牛的內容都是我干的镐牺。 我是一名探鬼主播炫掐,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼睬涧!你這毒婦竟也來了募胃?” 一聲冷哼從身側響起旗唁,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎痹束,沒想到半個月后检疫,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡祷嘶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年电谣,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抹蚀。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡剿牺,死狀恐怖,靈堂內的尸體忽然破棺而出环壤,到底是詐尸還是另有隱情晒来,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布郑现,位于F島的核電站湃崩,受9級特大地震影響,放射性物質發(fā)生泄漏接箫。R本人自食惡果不足惜攒读,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望辛友。 院中可真熱鬧薄扁,春花似錦、人聲如沸废累。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽邑滨。三九已至日缨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間掖看,已是汗流浹背匣距。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留哎壳,地道東北人毅待。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像耳峦,于是被迫代替她去往敵國和親恩静。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內容