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 或作为嵌入式/内存服务器启动其数据库。

编辑推荐精选

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

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

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

下拉加载更多