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