- 内容提要
- 序
- 前言
- 第一部分 背景知识
- 第 1 章 Spring Data 项目
- 第 2 章 Repository:便利的数据访问层
- 第 3 章 使用 Querydsl 实现类型安全的查询
- 第二部分 关系型数据库
- 第 4 章 JPA Repository
- 第 5 章 借助 Querydsl SQL 实现类型安全的 JDBC 编程
- 第三部分 NoSQL
- 第 6 章 MongoDB: 文档存储
- 第 7 章 Neo4j:图数据库
- 第 8 章 Redis:键/值存储
- 第四部分 快速应用开发
- 第 9 章 使用 Spring Roo 实现持久层
- 第 10 章 REST Repository 导出器
- 第五部分 大数据
- 第 11 章 Spring for Apache Hadoop
- 第 12 章 使用 Hadoop 分析数据
- 第 13 章 使用 Spring Batch 和 Spring Integration 创建大数据管道
- 第六部分 数据网格
- 第 14 章 分布式数据网格:GemFire
- 关于封面
2.4 IDE 集成
在 3.0 版本中,Spring 工具套件(Spring Tool Suite,STS)提供了与 Spring Data Repository 抽象进行集成的功能。STS 为 Spring Data 所提供的核心支持是查找方法的查询衍生机制。它所能做到的第一件事就是在 IDE 中校验衍生查询方法的正确性,这样,不需要启动 ApplicationContext 就能立刻探测出方法名中引入的拼写错误。
STS 是一个特殊的 Eclipse 发布版本,它内置了一些插件从而尽可能地便于进行 Spring 应用的构建。这个工具可以在项目的站点上( http://www. springsource.org/sts )下载或者使用一般的 Eclipse 发布版本并通过 STS 更新站点进行更新(基于 Eclipse 3.8( http://dist.springsource.org/release/TOOLS/update/e3.8 )或 Eclipse 4.2( http://dist.springsource.org/release/TOOLS/update/e4.2 ))。
如图 2-1 所示,IDE 检测到 Descrption 是非法的,因为 Product 类中并没有这样的属性。为了发现这些拼写错误,它会分析 Product 领域类(这些事情在启动 Spring Data Repository 时也会做)来获取属性并将方法名解析为属性的遍历树。为了尽早避免这种类型的拼写错误,STS 的 Spring Data 辅助功能为属性名、条件关键字(criteria keyword)以及像 And 和 Or 这样的连接符提供了代码补全功能,如图 2-2 所示。
图 2-1 Spring Data STS 对衍生查询方法名进行校验
图 2-2 对衍生查询方法的属性代码补全提示
Order 类中有一些你可能想要引用的属性。假设我们要遍历 billingAddress 属性,Cmd+Space(或者在 Windows 中使用 Ctrl+Space 组合键)将会触发嵌套属性的遍历,这样将会提示出嵌套的属性并根据此时所遍历的属性类型提示所匹配的关键字(如图 2-3 所示)。因此,String 类型的属性将会多一个 Like 的提示。
图 2-3 嵌套属性和关键字提示
为了提供一些锦上添花的特性,Spring Data STS 会将 Repository 作为 IDE 导航中的一等公民,使其带有众所周知的 Spring Bean 标识。除此之外,导航中的 Spring 元素(Spring Elements)节点将会包含一个专有的 Spring Data Repositories 节点,用来放置应用程序中所配置的所有 Repository,如图 2-4 所示。
图 2-4 在 STS 中,具备 Spring Data 支持的 Eclipse 项目资源管理器
可以看到,你能够快速找到 Repository 接口并跟踪它实际上来源于哪一个配置元素。
2.4.1 Intelli IDEA
最后,启用 JPA 支持后,IDEA 提供了 Repository 查找方法的补全功能,这种补全涵盖了衍生的属性名以及可用的关键字,如图 2-5 所示。
图 2-5 在 IDEA 编辑器中,查询方法的补全功能
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论