《Spring Data实战》——2.4 IDE集成

简介: 在3.0版本中,Spring工具套件(Spring Tool Suite,STS)提供了与Spring Data Repository抽象进行集成的功能。STS为Spring Data所提供的核心支持是查找方法的查询衍生机制。

本节书摘来自异步社区《Spring Data实战》一书中的第2章,第2.4节,作者: 【美】Mark Pollack , Oliver Gierke , Thomas Risberg , Jon Brisbin , Michael Hunger著,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.4 IDE集成

在3.0版本中,Spring工具套件(Spring Tool Suite,STS)提供了与Spring Data Repository抽象进行集成的功能。STS为Spring Data所提供的核心支持是查找方法的查询衍生机制。它所能做到的第一件事就是在IDE中校验衍生查询方法的正确性,这样,不需要启动ApplicationContext就能立刻探测出方法名中引入的拼写错误。

如图2-1所示,IDE检测到Descrption是非法的,因为Product类中并没有这样的属性。为了发现这些拼写错误,它会分析Product领域类(这些事情在启动Spring Data Repository时也会做)来获取属性并将方法名解析为属性的遍历树。为了尽早避免这种类型的拼写错误,STS的Spring Data辅助功能为属性名、条件关键字(criteria keyword)以及像And和Or这样的连接符提供了代码补全功能,如图2-2所示。

screenshot

图2-1 Spring Data STS对衍生查询方法名进行校验

screenshot

图2-2 对衍生查询方法的属性代码补全提示

Order类中有一些你可能想要引用的属性。假设我们要遍历billingAddress属性,Cmd+Space(或者在Windows中使用Ctrl+Space组合键)将会触发嵌套属性的遍历,这样将会提示出嵌套的属性并根据此时所遍历的属性类型提示所匹配的关键字(如图2-3所示)。因此,String类型的属性将会多一个Like的提示。

screenshot

图2-3 嵌套属性和关键字提示

为了提供一些锦上添花的特性,Spring Data STS会将Repository作为IDE导航中的一等公民,使其带有众所周知的Spring Bean标识。除此之外,导航中的Spring元素(Spring Elements)节点将会包含一个专有的Spring Data Repositories节点,用来放置应用程序中所配置的所有Repository,如图2-4所示。

screenshot

图2-4 在STS中,具备Spring Data支持的Eclipse项目资源管理器

可以看到,你能够快速找到Repository接口并跟踪它实际上来源于哪一个配置元素。

2.4.1 Intelli IDEA
最后,启用JPA支持后,IDEA提供了Repository查找方法的补全功能,这种补全涵盖了衍生的属性名以及可用的关键字,如图2-5所示。

screenshot

图2-5 在IDEA编辑器中,查询方法的补全功能

相关文章
|
1月前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
131 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
2月前
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
26天前
|
消息中间件 监控 Java
您是否已集成 Spring Boot 与 ActiveMQ?
您是否已集成 Spring Boot 与 ActiveMQ?
49 0
|
2月前
|
存储 Java API
如何使用 Java 记录简化 Spring Data 中的数据实体
如何使用 Java 记录简化 Spring Data 中的数据实体
43 9
|
3月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
83 2
zabbix agent集成percona监控MySQL的插件实战案例
|
2月前
|
Dart Android开发
鸿蒙Flutter实战:03-鸿蒙Flutter开发中集成Webview
本文介绍了在OpenHarmony平台上集成WebView的两种方法:一是使用第三方库`flutter_inappwebview`,通过配置pubspec.lock文件实现;二是编写原生ArkTS代码,自定义PlatformView,涉及创建入口能力、注册视图工厂、处理方法调用及页面构建等步骤。
68 0
|
3月前
|
Java 数据库连接 API
【Java笔记+踩坑】Spring Data JPA
从常用注解、实体类和各层编写方法入手,详细介绍JPA框架在增删改查等方面的基本用法,以及填充用户名日期、分页查询等高级用法。
【Java笔记+踩坑】Spring Data JPA
|
4月前
|
前端开发 关系型数据库 测试技术
django集成pytest进行自动化单元测试实战
在Django项目中集成Pytest进行单元测试可以提高测试的灵活性和效率,相比于Django自带的测试框架,Pytest提供了更为丰富和强大的测试功能。本文通过一个实际项目ishareblog介绍django集成pytest进行自动化单元测试实战。
67 3
django集成pytest进行自动化单元测试实战
|
4月前
|
机器学习/深度学习 存储 前端开发
实战揭秘:如何借助TensorFlow.js的强大力量,轻松将高效能的机器学习模型无缝集成到Web浏览器中,从而打造智能化的前端应用并优化用户体验
【8月更文挑战第31天】将机器学习模型集成到Web应用中,可让用户在浏览器内体验智能化功能。TensorFlow.js作为在客户端浏览器中运行的库,提供了强大支持。本文通过问答形式详细介绍如何使用TensorFlow.js将机器学习模型带入Web浏览器,并通过具体示例代码展示最佳实践。首先,需在HTML文件中引入TensorFlow.js库;接着,可通过加载预训练模型如MobileNet实现图像分类;然后,编写代码处理图像识别并显示结果;此外,还介绍了如何训练自定义模型及优化模型性能的方法,包括模型量化、剪枝和压缩等。
62 1
|
4月前
|
JSON 数据管理 关系型数据库
【Dataphin V3.9】颠覆你的数据管理体验!API数据源接入与集成优化,如何让企业轻松驾驭海量异构数据,实现数据价值最大化?全面解析、实战案例、专业指导,带你解锁数据整合新技能!
【8月更文挑战第15天】随着大数据技术的发展,企业对数据处理的需求不断增长。Dataphin V3.9 版本提供更灵活的数据源接入和高效 API 集成能力,支持 MySQL、Oracle、Hive 等多种数据源,增强 RESTful 和 SOAP API 支持,简化外部数据服务集成。例如,可轻松从 RESTful API 获取销售数据并存储分析。此外,Dataphin V3.9 还提供数据同步工具和丰富的数据治理功能,确保数据质量和一致性,助力企业最大化数据价值。
223 1