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

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

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

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

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多