Spring所有的依賴如下,我們簡單介紹下。
開發者工具 Developer Tools
Spring Boot DevTools: 提供應用的快速重啟和代碼的熱部署,提升開發速度,增強開發體驗。Lombok: 自動生成樣本代碼的Java註解庫。可以在編譯的時候根據註解幫你增加需要的樣本代碼(get/set代碼,構造函數,toString和日誌等等),增強開發體驗。Spring Configuration Processor:配置文件提示工具,當你在application.yml或者application.properties中輸入時,會有相應的提示,方便我們寫配置文件。原理是會自動給@ConfigurationProperties註解的類生成一個元數據信息的json文件,開發工具比如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,簡化開發,比如多進程分佈式共享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操作方式。
模板引擎 Template Engines
安全 Security
各種安全框架的集成
Spring Security: Spring官方的安全框架,高度定製的身份認證和訪問控制框架。OAuth2 Client: 支持OAuth2標準的客戶端OAuth2 Resourec Server:支持OAuth2標準的服務戶端Spring LDAP:LDAP協議支持。輕型目錄訪問協議(英文:Lightweight Directory Access Protocol,縮寫:LDAP,/ˈɛldæp/)是一個開放的,中立的,工業標準的應用協議,通過IP協議提供訪問控制和維護分佈式信息的目錄信息Okta: 支持Okat關係型數據庫 SQL
各種關係型數據庫的支持和集成
JDBC API : jdbc封裝Spring Data JPA: JPA 規範支持Spring Data JDBC: 一個簡化jdbc的模板Spring DAta R2DBC[Experimental]:實驗特性,反應性數據庫連接,Reactive Relational Database ConnectivityMybatis 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: 響應式訪問RedisSpirng Data MongoDB: MongoDB數據庫Spring Data Reactive MongoDB: 響應式訪問MongoDBSpring 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:響應式訪問CassandraSpring for Apache Geode:Apache Geode是一個數據管理平臺,可幫助用戶大規模構建與Pivotal Cloud Cache兼容的實時,高度併發,高性能和可靠的Spring Boot應用程序。Spirng Data Couchbase:NoSQL面向文檔的數據庫,提供內存優先的體系結構,地理分佈式部署和工作負載隔離。Spirng Data Reactive Couchbae:響應式訪問CouchbaseSpirng Data Neo4j:java版的圖數據庫,常用於分析用戶關係。消息 Messaging
各種消息中間件的支持和集成
Spring IntegrationSpring for RabbitMQSpring for Apache kafkaSpring for Apache kafka StreamsSpirng for Apache ActiveMQ5Spirng for Apache ActiveMQ artemisWebSocketRSocketApache CamelSolace PubSub+輸入/輸出 I/O
監控 ops
測試 Testing
Spring Cloud
cloud基礎服務,特性功能無關
Cloud Bootstrap:Spring Cloud啟用相關,應用上下文環境相關。Function:支持函數式五服務器架構Task: 任務相關Spring Clouud Security安全
Spring Security和OAuth2兩種認證模式。
Spring Cloud Tool工具
Spring Cloud Config 分佈式配置
Spring Cloud Discovery 服務發現
image.png
Eureka Discovery Client:Eureka 客戶端Eureka Server: Eureka的服務端Apache Zookeeper Discovery:Cloud Foundry Discovery: 支持 Cloud FoundryConsul Discovery: 支持Consul