Idea创建Spring Boot项目时可选择的依赖说明

Developer Tools(开发者工具)

Spring Native [Experimental]:提供 GraalVM 编译支持,GraalVM 是一个编译器,实验版。

Spring Boot DevTools:提供快速应用程序重启、实时加载和配

Lombok:它是一个Java注解库,提供一些有用的注解,例如:

  • @Setter :在类或字段上注解,为字段生成setter方法@Getter :在类或字段上注解,为字段生成getter方法
  • @Data: 在类上注解,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。

Spring Configuration Processor:在使用自定义配置文件时(例如application.properties/.yml文件)提供上下文帮助和代码完成。

Web(网络)

Spring Web:使用 Spring MVC 构建 Web 应用程序,包含 RESTful 应用程序。使用 Apache Tomcat 作为默认的嵌入式容器。创建 Web 应用时必选,开发时常用的一些注解也在这个包里面,例如:@Controller、@RestController、@PostMapping、@GetMapping、@Service。

Spring Reactive Web:使用 Spring WebFlux 和 Netty 构建响应式 web 应用程序。

Spring GraphQL:为 Spring 提供 GraphQL(图状数据语言)和 GraphQL Java 支持。GraphQL 最大的优势是查询图状数据,相当于把后端当做数据库,把前端当做服务端。图状数据是一种结构,例如评论关联,加了 QL 是指图状语言。

Rest Repositories:通过Spring Data REST在REST上公开Spring数据存储库,Rest 是一种软件框架风格,有别于 MVC 架构。

Spring Session:提供用于管理用户会话信息的APl和实现。

Rest Repositories HAL Explorer:在你的浏览器上浏览 Spring Data REST 存储库。

Spring HATEOAS:提供 REST 最高层次超媒体应用状态引擎支持,要了解 HATEOAS 就得先去了解 REST 4 个层次。这个服务说白了前端向后端发起请求,后端会返回额外的参数(links)。

Spring Web Services:促进契约优先 SOAP (Simple Object Access Protocol)开发。

Jersey:用 Java 开发 RESTful Web 服务的框架,该框架提供对 JAX-RS (Java API for RESTful Web Services)的支持。

Vaadin:允许你使用纯 Java 编写 UI 的 Web 框架。

Template Engines(引擎模板)

Thymeleaf:一个现代化的服务端 Java 模板引擎。

Apache Freemarker:Java 库根据模板和更改的数据生成文本输出。

Mustache:无逻辑模板,只有标签。

Groovy Templatess:Groovy 模板引擎。Groovy 基于 JVM 的语言。

Security(安全)

Spring Security:高度定制化权限控制和访问的控制安全框架。

OAuth2 Client:Spring Boot 集成开放授权/开放 ID 客户端功能。

OAuth2 Resource Server:Spring Boot 集成开放授权资源服务器功能。

Spring LDAP:轻型目录访问协议,统一认证的解决方案,有多个平台只需要一个账号。

Okta:Okta 也是一种统一认证解决的方案。

SQL(关系数据库标准语言)

JDBC API:提供定义客户端如何连接、查询数据库和数据库连接API。

Spring Data JPA:用于创建数据访问层和跨存储持久化数据连通接口,用于 Spring Data 和 Hibernate。Spring Data 是一系列家族。

Spring Data JDBC:持久化 SQL 数据在 JDBC 计划中,用于 Spring Data。支持高级队列和数据类型。

Spring Data R2DBC:提供反应式关系型数据库连通支持。R2DBC 是一项 API 规范计划,实现数据库厂商访问关系数据库,由 Spring 官方提出。补充,R2DBC 是反应式关系数据库连接,是一个开发规范,将反应式编程 API 引入关系型数据库。

MyBatis Framework:支持客制化 SQL 的数据持久化框架,内置存储过程和高级映射。对象存储过程和 SQL 语句可以使用XML描述或注解实现。

Liquibase Migration:提供Liquibase 数据库迁移和资源控制库。Liquid Database for Mac 才是 Mac 提供的液体数据库,它真的是用来管理液体数据。

Flyway Migration:提供数据库版本的迁移和控制,数据库界的 SVN/Git 版本控制。

JOOQ Access Layer:提供 JOOQ 系列访问层。JOOQ 是一个 ORM 型持久化框架(对象关系映射),可以给你的数据库生成 Java 代码,还可以通过类型安全 SQL 流畅的构建 API。

IBM DB2 Driver:访问 IBM DB2 数据库的 JDBC 驱动。DB2 是 IBM 开发的一种大型关系型分布式决方案数据库。

Apache Derby Database:是一个开源的完全用 Java 实现的关系型数据库。MySQL 是用 C++ 实现的关系型数据库,一个道理。

H2 Database:提供一个快速且运行在内存中的数据库支持。H2 也是用 Java 写的关系型数据库,可以嵌入 Java 程序也可以作为一个单独的数据库。

HyperSQL Database:百分之百绝对轻量的 Java 数据库引擎。别名 HSQLDB ,具有标准的 SQL 语法和 Java 接口,不适用于大型数据,适用于测试、演示的 Java 程序项目。

MariaDB Driver:提供 Maria 的 JDBC和 R2DBC 驱动,MySQL 被收购后,作者新开的一个 “MySQL”。

MS SQL Server Driver:提供给每一个 Java 应用程序微软数据库服务的 JDBC和 R2DBC 驱动(SQLServer、Azure)。

MySQL Driver:提供 MySQL 的 JDBC和 R2DBC 驱动。想想 application.yml 中 driver-class-name 填的驱动包,其它的驱动都是这么用的。

Oracle Driver:提供一个 JDBC 驱动给Oracle。

PostgreSQL Driver:以 PostgreSQL 规范标准提供 JDBC 驱动,这个数据库跟 Java 独立不搭噶。

NoSQL(非关系型数据库)

Spring Data Redis (Access+Driver):提供高级线程安全且包含同步、异步、反应式交互的 Redis 客户端驱动,支持集群、哨兵、流水线、自动重连。

Spring Data Reactive Redis:只提供了 Redis 反应式交互驱动,不需要太多功能就用这个包。

Spring Data MongoDB:提供 MongoDB 驱动。MongoDB 可以灵活的存储类似 JSON 那样的数据,相较 Redis 查询起来更像持久化在本地的关系型数据库,非要比较性能肯定比不过 Redis,新出了一个 RedisJson 比 MongoDB 快很多倍。

Spring Data Reactive MongoDB:提供异步流处理非阻塞的 MongoDB 驱动。

Spring Data Elasticsearch (Access+Driver):提供 Cassandra 驱动和服务,Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。

Spring Data for Apache Cassandra:提供 Cassandra 服务,是一个免费开源的分布式 NoSQL 高扩展和高性能的数据库管理系统。

Spring Data Reactive for Apache Cassandra:提供 Cassandra 服务,以反应式方式访问 Cassandra NoSQL 数据库。

Spring Data Couchbase:提供 Couchbase 服务,内存优先的分布式开发 NoSQL 数据库。

Spring Data Reactive Couchbase:提供 Couchbase 服务,以反应式方式访问 Couchbase NoSQL 数据库。

Spring Data Neo4j:开源NoSQL数据库,存储由节点组成的图形结构的数据,通过关系连接。

Spring for Apache Geode:数据管理平台,提供实时、一致的云架构访问数据。

Messaging(信息)

Spring Integration:增加了对企业集成模式的支持。支持轻量级消息传递,并支持通过声明式适配器与外部系统集成。

Spring for RabbitMQ:RabbitMQ 是一个实现了高级消息队列的代理软件。

Spring for Apache Kafka:Kafka 是一种高吞吐量的分布式发布订阅消息系统。

Spring for Apache Kafka Streams:使用Apache Kafka Streams构建流处理应用程序。

Spring for Apache ActiveMQ 5:提供 ActiveMQ JMS 支持。JMS(Java Message Service)是一个 Java 平台面向消息中间件的 API,用来在两个程序或分布式系统中发送消息。

Spring for Apache ActiveMQ Artemis:它是 ActiveMQ 的最新版。

WebSocket:提供构建简单网络协议和套接应用服务。

RSocket:带有 Spring 消息和 Netty 的应用程序。Netty 是由 JBOSS 提供的 Java 开源框架,提供异步、事件驱动的网络应用程序框架和工具,用于快速开发高性能、高可靠的网络服务器和客户端程序。

Apache Camel:Camel 能够在各种领域语言定义路由和中间规则。

Solace PubSub+:连接到 Solace PubSub+ 进行高级事件发布、订阅。

I/O(输入/输出)

Spring Batch:Spring Batch 是一个批量处理应用框架,不是调度框架,需要和调度框架合作完成批处理任务。

Validation:使用 Hibernate 验证程序进行Bean验证。

Java Mail Sender:使用 Java Mail 和 Spring 框架中的 JavaMailSender 发送 email。

Quartz Scheduler:Quartz 是一个调度框架,用它完成调度工作。

Spring cache abstraction:缓存抽象概念,提供与缓存相关的操作,例如更新缓存内容的能力,但不提供实际的数据存储。

Picocli:Picocli 是一个强大轻量的命令行接口,用于构建命令行应用程序。

Ops

Spring Boot Actuator:支持内置(或自定义)端点,允许您监视和管理应用程序,如应用程序运行状况、指标、会话等。

Codecentric’s Spring Boot Admin (Client):用于监控管理的软件,能够将 Actuator 中的信息进行界面展示,也可以监控所有 Spring Boot 应用的健康状况,提供实时报警功能。

Codecentric’s Spring Boot Admin (Server):应用程序作为 Spring Boot Admin Client 向 Server 注册。先搭建 Server ,再给项目搭建 Client 并注册到 Server 中。

Observability (可观察性应用)

Datadog:将 Datadog 发布到 Micrometer 服务指标数据。Datadog 针对云的监控服务,通过 SaaS 的数据分析平台提供对服务器、数据库、工具和服务的监控。Micrometer 微测度量指标,可实现各种监控系统。

Influx:将 Influx 发布到 Micrometer 微测度量指标服务。Influx 是一个开源的时序型数据库,常用于存储系统监控数据,IoT 行业的实时数据等场景。IoT 指物联网,通过各种信息传感器等设备采集信息。

Graphite:将 Graphite 发布到 Micrometer 微测度量指标服务。Graphite 是一个采集网站实时信息并进行统计的开源项目,可以采集多种网站服务允许状态。

New Relic:将 New Relic 发布到 Micrometer 微测度量指标服务。New Relic 是一个很强大的服务器性能监控工具,专注于 SaaS 和 App 性能管理业务。

Prometheus:Prometheus 是一个开源的监控解决方案,用于收集和聚合指标作为时间序列数据,Promeheus 中的每一个项目都是一个指标时间,并带有它发生的时间戳。

Sleuth:可以通过 Spring Colud Sleuth 的日志进行分布式跟踪。

Wavefront:Wavefront 这是一个基于SaaS的指标监测和分析平台,可视化、查询和告警整个堆栈中的数据。

Zipkin Client:使用已安装的 Zipkin 和 Spring Cloud Sleuth Zipkin 进行分布式跟踪。

Testing(测试)

Spring REST Docs:Spring REST Docs 可以帮你记录 RESTful 服务,同事还能生成标准的接口文档。

Testcontainers:提供轻量级的公共数据实例测试容器,可以运行在一个 Docker 容器中。

Contract Verifier:提供契约测试服务,支持微服务、云契约应用。

Contract Stub Runner:用于基于 HTTP/消息传递 的通信的存根运行程序。允许从RestDocs测试创建WireMock存根。RestDocs 可以生成 API 文档。WireMock 可模拟后端服务用于 Web 服务测试,WireMock 会创建一个 HTTP 服务运行 Web 服务以便测试。

Embedded LDAP Server:为在单元测试中运行 LDAP 服务器提供了一种平台无关的方式。LDAP 是一种存储方式,即轻量级目录存取协议。

Embedded MongoDB Database:为在单元测试中运行MongoDB提供了一种平台无关的方式。

Spring Cloud

Cloud Bootstrap:非特定 Spring Cloud 特性,Cloud Native是一种应用程序开发风格,鼓励在持续交付和价值驱动开发领域开发方式。

Function:通过函数促进业务逻辑的实现,并支持跨无服务器提供商的统一编程模型,以及独立运行(本地或PaaS)的能力。

Task:允许用户使用 Spring Cloud 开发和运行短期的微服务。在本地、云中和 Spring 云数据流(Spring Cloud Data Flow)上运行它们。

Spring Cloud Tools

Open Service Broker:构建 Spring Boot 应用程序的框架,该应用程序实现了开放式 Service Broker APl,它可以为运行在云计算原生平台(如 Cloud Foundry 、 Kubernetes 和 OpenShift )中的应用程序提供服务。

  • Cloud Foundry 是业界第一个开源 PassS 云平台,开发人员能够在几秒钟内进行应用程序部署和扩展。

  • Kubernetes 是一个开源的用于管理云平台多个主机上容器化的应用,目的是让部署容器化应用更加简单和高效。

  • OpenShift 开发者和操作友好的Kubernetes发行版。

Spring Cloud Config

Config Client:连接到 Spring Cloud 配置服务器以获取应用程序配置的客户端。

Config Server:通过Git、SVN或HashiCorp Vault对配置进行集中管理。

Vault Configuration:为分布式系统中的外部化配置提供客户端支持。使用 HashiCorp 的 Vault,可以在所有环境中管理应用程序的外部机密属性。

Apache Zookeeper Configuration:在应用程序中启用和配置公共模式,并使用基于 Apache Zookeeper 的组件构建大型分布式系统。提供的模式包括服务发现和配置。Zookeeper 是一个分布式应用程序协调服务。

Consul Configuration:启用和配置应用程序中的常见模式,并使用 Hashicorp 的 Consor 构建大型分布式系统。提供的模式包括服务发现、分布式配置和控制总线。Hashicorp 的 Consor 是一个多云平台,中国用不了企业版。

Spring Cloud Discovery

Eureka Discovery Client:一种基于REST的服务,用于定位服务,以实现中间层服务器的负载平衡和故障切换。

Eureka Server:Spring Cloud Netflix Eureka 服务器。Eureka 是 Netflix 开发的服务发现框架,本身基于 REST 服务用于定位 AWS 域的中间层服务,以达到负载均很和中间层服务故障转移目的。Spring Cloud 把它集成在 Spring Cloud Netflix 里面。

Apache Zookeeper Discovery:提供 Zookeeper 服务发现。

Cloud Foundry Discovery:提供 Cloud Foundry 服务发现。

Consul Discovery:提供 Hashicorp Consult 服务发现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值