spring-data-examples

spring-data-examples

Spring Data各模块功能展示及数据访问示例集

该代码仓库提供Spring Data各模块的示例项目,覆盖Cassandra、Elasticsearch、JDBC、JPA等多种数据访问技术。通过实际代码演示API使用和模块特性,包括基础CRUD、反应式编程、安全集成和多数据源等高级主题。这些示例为开发者学习Spring Data框架提供了丰富的实践资源。

Spring Data数据库支持示例项目API展示模块功能Github开源项目

= 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"]

image:https://travis-ci.org/spring-projects/spring-data-examples.svg?branch=main[构建状态,link=https://travis-ci.org/spring-projects/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 或作为嵌入式/内存服务器启动其数据库。

编辑推荐精选

GPT Plus|Pro充值

GPT Plus|Pro充值

GPT充值

支持 ChatGPT Plus / Pro 充值服务,支付便捷,自动发货,售后可查。

GPT Image 2中文站

GPT Image 2中文站

AI 图片生成平台

GPT Image 2 是面向用户的 AI 图片生成平台,支持文生图、图生图及多模型创意工作流。

Vecbase

Vecbase

你的AI Agent团队

Vecbase 是专为 AI 团队打造的智能工作空间,将数据管理、模型协作与知识沉淀整合于一处。算法、产品与业务在同一平台无缝协同,让从数据到 AI 应用的落地更快一步。

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

下拉加载更多