= Spring Data 示例 image:https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle&labelColor=02303A["由 Develocity 驱动", link="https://ge.spring.io/scans?search.rootProjectNames=Spring Data - Examples"]
此仓库包含不同 Spring Data 模块的示例项目,展示了 API 和如何使用这些模块提供的功能。
我们为各个模块的示例设置了单独的文件夹:
== Apache Cassandra 的 Spring Data
example
- 展示了 Spring Data 对 Apache Cassandra 的核心支持。kotlin
- 使用 Kotlin 和 Cassandra 的示例。reactive
- 展示响应式模板和仓库支持的示例项目。
== Spring Data Elasticsearch
example
- 展示如何使用基本文本搜索、地理空间搜索和分面。它使用高级 REST 客户端支持模板和仓库。reactive
- 展示如何使用响应式客户端、模板和仓库功能。
运行测试需要本地 Elasticsearch 实例正在运行。
== Spring Data JDBC
basic
- Spring Data JDBC 的基本用法。graalvm-native
- 此示例将基本的 Spring Data JDBC 应用程序编译为 GraalVM 原生镜像。howto
- 与 https://spring.io/blog/2021/09/09/spring-data-jdbc-how-to-use-custom-id-generation[Spring Data JDBC - 如何使用博客文章] 相关的项目集合。immutables
- 展示 Spring Data JDBC 与 https://immutables.github.io/[Immutables] 的使用。jmolecules
- 演示 jMolecules 与 Spring Data JDBC 的交互。jooq
- 演示如何同时使用 jOOQ 和 Spring Data JDBC。mybatis
- 演示如何使用 MyBatis 为 Spring Data JDBC 生成 SQL。singlequeryloading
- 演示如何启用单查询加载。
== Spring Data JPA
eclipselink
- 展示如何使用 Spring Data JPA 与 Spring Boot 和 https://www.eclipse.org/eclipselink/[Eclipselink] 的示例项目。example
- 可能是您首先想要查看的项目。包含各种示例包,展示了可以使用 Spring Data JPA 的不同层级。查看simple
包以了解最基本的设置。还包含在虚拟线程上运行的示例。interceptors
- 如何使用 AOP 增强仓库的示例。jpa21
- 展示对 JPA 2.1 特定功能的支持(存储过程支持)。multiple-datasources
- 如何使用多个DataSource
的 Spring Data JPA 示例。query-by-example
- 展示 Spring Data JPA 使用查询示例的示例项目。security
- 如何将 Spring Data JPA 仓库与 Spring Security 集成的示例。showcase
- 重构展示,说明如何通过使用 Spring Data JPA 改进基于纯 JPA 的持久层(即:删除几乎所有实现代码)。按照demo.txt
文件的详细说明进行操作。vavr
- 展示对查询方法返回类型支持 https://www.vavr.io[Vavr] 集合类型。
== Spring Data LDAP
example
- 使用 Spring Data 仓库访问 LDAP 存储的示例。
== Spring Data MongoDB
aggregation
- 展示 MongoDB 聚合框架支持的示例项目。example
- 展示一般仓库功能(包括地理空间功能)、Querydsl 集成和高级主题的示例项目。fluent-api
- 展示新的流式 API(MongoTemplate
替代方案)与 MongoDB 交互的示例项目。geo-json
- 展示 MongoDB 使用 http://geojson.org[GeoJSON] 的示例项目。gridfs
- 展示 MongoDB 使用 gridFS 的示例项目。jmolecules
- Spring Data MongoDB 与基于 jMolecules 的领域模型配合使用的示例。kotlin
- 使用 https://kotlinlang.org/[Kotlin] 和 MongoDB 的示例。linking
- 演示链接文档的可能性。query-by-example
- 展示 MongoDB 使用查询示例的示例项目。querydsl
- 展示 MongoDB 的命令式和响应式 https://github.com/querydsl/querydsl[Querydsl] 支持的示例项目。reactive
- 展示响应式模板和仓库支持的示例项目。repository-metrics
- 展示如何收集仓库方法调用指标的示例项目。security
- 展示 MongoDB 使用 Spring Security 的示例项目。text-search
- 展示 MongoDB 文本搜索功能使用的示例项目。transactions
- 展示 MongoDB 4.0 命令式和响应式事务支持的示例项目。
== Spring Data Neo4j
example
- 展示基本节点和关系实体以及仓库使用的示例。
== Spring Data R2DBC
example
- Spring Data R2DBC 的基本用法。
== Spring Data Redis
cluster
- Redis 集群支持的示例。example
- 基本 Spring Data Redis 设置的示例。pubsub
- 展示使用平台和虚拟线程的 Pub/Sub 用法的示例项目。reactive
- 展示响应式模板支持的示例项目。repositories
- 演示 Redis 之上的 Spring Data 仓库抽象的示例。sentinel
- Redis Sentinel 支持的示例。streams
- https://redis.io/topics/streams-intro[Redis Streams] 支持的示例。
运行测试需要本地 Redis 实例正在运行。一种选择是在单独的终端中使用 Docker:
$ docker run -p 6379:6379 redis:5.0
警告:如果您使用完毕,别忘了关闭它!
== Spring Data REST
headers
- 展示 HTTP 头的填充和使用它们执行条件GET
请求的示例。multi-store
- 基于 Spring Data JPA 和 Spring Data MongoDB 的示例 REST Web 服务。projections
- 展示如何使用投影的示例 REST Web 服务。security
- 使用 Spring Security 保护的示例 REST Web 服务。starbucks
- 使用 Spring Data REST 和 MongoDB 构建的示例 REST Web 服务。uri-customizations
- 展示 URI 自定义功能的示例项目。
== Spring Data Web 支持
projections
- Spring Data Web 支持在投影接口上使用 JSONPath 和 XPath 表达式的示例。querydsl
- Spring Data Querydsl Web 集成的示例(从 Web 请求创建Predicate
)。web
- Spring Data Web 集成的示例(将Pageable
实例绑定到 Spring MVC 控制器方法,使用接口绑定 Spring MVC 请求负载)。
== 其他
bom
- 在非 Spring Boot 场景中使用 Spring Data 发布列车 bom 的示例项目。map
- 展示如何使用基于Map
的仓库的示例项目。multi-store
- 在一个项目中同时使用 Spring Data MongoDB 和 Spring Data JPA 的示例项目。
== 注意
- 示例项目使用了 https://projectlombok.org/[Lombok] 插件。要在 IDE 中获得正确的代码导航,您必须单独安装它。Lombok 在 IntelliJ 插件仓库中可用,也可以为基于 Eclipse 的 IDE https://projectlombok.org/download[下载]。
- 代码使用了 Java 16 语言特性,因此您需要 Java 16 或更新版本来运行和编译示例。
- 除非另有说明,大多数存储模块示例通过 Testcontainers 或作为嵌入式/内存服务器启动其数据库。