強大的Spring家族都有哪些成員?

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

開發者工具 Developer Tools

強大的Spring家族都有哪些成員?

  • Spring Boot DevTools: 提供應用的快速重啟和代碼的熱部署,提升開發速度,增強開發體驗。
  • Lombok: 自動生成樣本代碼的Java註解庫。可以在編譯的時候根據註解幫你增加需要的樣本代碼(get/set代碼,構造函數,toString和日誌等等),增強開發體驗。
  • Spring Configuration Processor:配置文件提示工具,當你在application.yml或者application.properties中輸入時,會有相應的提示,方便我們寫配置文件。原理是會自動給@ConfigurationProperties註解的類生成一個元數據信息的json文件,開發工具比如idea會自動掃描識別這個josn然後在你寫配置文件的時候給予提示。

網站 Web

強大的Spring家族都有哪些成員?

  • 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,簡化開發,比如多進程分佈式共享Session更加簡單快捷。
  • Rest Repositories HAL Browser:提供支持HAL Brower規範的Rest方式訪問數據倉庫。HAL 即Hypertext Application Language的簡稱,就是一種json數據規範,簡單來說就是返回json數據的同時也返回服務器支持的方式方式和url等信息,目前github的接口就是使用這種方式。
  • Spring HATEOAS:使用Spring/Spring MVC時,簡化創建支持HATEOAS規範的RestFul API, HATEOAS(Hypermedia as the engine of application state)
  • Spring Web Services:簡化Web Services開發,提供SOAP協議支持,提供多種XML操作方式。SOAP(原為Simple Object Access Protocol的[首字母縮寫]"首字母縮寫"),即簡單對象訪問協議)是交換數據的一種協議規範。
  • Jersey: Java開發的RestFul的web服務,支持JAX-RS API。
  • Vaadin :Java框架,用於基於Web組件構建富客戶端應用。Vaadin 就是用Java寫UI,而不用js/html/css寫UI,富客戶端可以簡單理解為頁面交互豐富(js實現動態交互)。

模板引擎 Template Engines

強大的Spring家族都有哪些成員?

  • Thymeleaf: 面向HTML的模板引擎,Spring推薦使用的主要用來編寫html的模板引擎。
  • Apache Freemarker: Freemarker老牌模板引擎了,不多說
  • Mustache :邏輯模板,就是沒有if-else或者for語句,只用標籤。
  • Groovy Templates: Groovy語言的模板引擎。

安全 Security

強大的Spring家族都有哪些成員?

各種安全框架的集成

  • Spring Security: Spring官方的安全框架,高度定製的身份認證和訪問控制框架。
  • OAuth2 Client: 支持OAuth2標準的客戶端
  • OAuth2 Resourec Server:支持OAuth2標準的服務戶端
  • Spring LDAP:LDAP協議支持。輕型目錄訪問協議(英文:Lightweight Directory Access Protocol,縮寫:LDAP,/ˈɛldæp/)是一個開放的,中立的,工業標準的應用協議,通過IP協議提供訪問控制和維護分佈式信息的目錄信息
  • Okta: 支持Okat

關係型數據庫 SQL

強大的Spring家族都有哪些成員?

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

  • JDBC API : jdbc封裝
  • Spring Data JPA: JPA 規範支持
  • 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

強大的Spring家族都有哪些成員?

各種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的具體實現,也是一個優秀的搜索引擎框架
  • Spring Data for Apache Cassandra:Cassandra是一個免費開源的可以擴展的分佈式nosql數據庫
  • Spirng Data Reactive for Apache Cassandra:響應式訪問Cassandra
  • Spring for Apache Geode:Apache Geode是一個數據管理平臺,可幫助用戶大規模構建與Pivotal Cloud Cache兼容的實時,高度併發,高性能和可靠的Spring Boot應用程序。
  • Spirng Data Couchbase:NoSQL面向文檔的數據庫,提供內存優先的體系結構,地理分佈式部署和工作負載隔離。
  • Spirng Data Reactive Couchbae:響應式訪問Couchbase
  • Spirng Data Neo4j:java版的圖數據庫,常用於分析用戶關係。

消息 Messaging

強大的Spring家族都有哪些成員?

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

  • 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家族都有哪些成員?

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

監控 ops

強大的Spring家族都有哪些成員?

  • Spring Boot Actuator : 監控運行狀況、指標、會話等。
  • Spring Boot Admin client: 一個web界面版的監控,客戶端
  • Spring Boot Admin server: 服務端

測試 Testing

強大的Spring家族都有哪些成員?

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

Spring Cloud

強大的Spring家族都有哪些成員?

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

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

Spring Clouud Security安全

強大的Spring家族都有哪些成員?

Spring Security和OAuth2兩種認證模式。

Spring Cloud Tool工具

強大的Spring家族都有哪些成員?

  • Cloud connectors:簡化了在Cloud Foundry和Heroku等雲平臺中連接服務和提高操作環境意識的過程。
  • Open Service Broker: 框架,用於構建實現Open Service Broker API的Spring Boot應用程序,該應用程序可以向在Cloud Foundry,Kubernetes和OpenShift等雲原生平臺內運行的應用程序提供服務。

Spring Cloud Config 分佈式配置

強大的Spring家族都有哪些成員?

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

Spring Cloud Discovery 服務發現

強大的Spring家族都有哪些成員?

image.png

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

路由

強大的Spring家族都有哪些成員?

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

斷路器

強大的Spring家族都有哪些成員?

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

追蹤

強大的Spring家族都有哪些成員?

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

消息服務

強大的Spring家族都有哪些成員?

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

雲計算支持

Foundry 雲平臺支持

強大的Spring家族都有哪些成員?

亞馬遜雲 AWS

強大的Spring家族都有哪些成員?

微軟雲 Microsoft Azure

強大的Spring家族都有哪些成員?

谷歌雲 Goole Cloud Platform

強大的Spring家族都有哪些成員?


分享到:


相關文章: