Spring Data JPA @Query 定义中的 SpEL 支持

工程 | Thomas Darimont | 2014 年 7 月 15 日 | ...

Spring Data JPA 允许使用 @Query 注解手动定义由 Repository 方法执行的查询。不幸的是,JPQL 中的参数绑定非常有限,只允许设置一个值并提供一些类型转换。Evans 发布列车最新的 Spring Data JPA M1 版本通过增加对使用 SpEL 表达式的支持来缓解这一问题,从而在 @Query 注解的语句中动态绑定参数,在手动定义查询时提供了额外的灵活性。在这篇博客文章中,我将向您介绍此功能的功能。

本周 Spring - 2014 年 7 月 15 日

工程 | Josh Long | 2014 年 7 月 15 日 | ...

欢迎来到另一期《本周 Spring》!这是一个疯狂的一周,而下周将更加疯狂!Spring 团队的一些成员——包括 Spring Boot 联合负责人 Phill Webb、Spring Batch 负责人 Michael Minella 和我本人,下周将参加 OSCON 大会,所以如果您在附近并参加展会,请过来打个招呼!我们也会在展位上待一段时间。

  1. Spring Batch 负责人 Michael Minella 刚刚发布了 Spring Batch 3.0.1,以及一个新的 Spring Batch 扩展存储库,其中包含了与 Spring Batch 的新集成。第一个贡献是针对 ElasticsearchItemReaderItemWriter。太棒了!
  2. Spring Data 忍者 Thomas Darimont 刚刚宣布了 Spring Data JPA @Query 注解中支持 SpEL
  3. Spring 和 Groovy Tool Suite 负责人 Martin Lippert 刚刚宣布发布了 Spring Tool Suite 3.6.0 和 Groovy Tool Suite 3.6.0,它们基于 Eclipse Luna 4.4,支持 Groovy 2.3、Grails 2.4、tc Server 2.9.6,以及其他一些小的改进和 Bug 修复。
  4. Spring Data 忍者 Christoph Strobl 刚刚宣布发布了 Spring Data Evans m1,其中包含了许多新的修订版本
  5. 说到 Spring Data Evans 的第一个里程碑,Spring Data REST 忍者 Greg Turnquist 刚刚宣布,Spring Data Evans M1 里程碑版本带来了 ALPS 元数据支持。FTA:ALPS 提供了一种查询 RESTful 服务以了解其所提供数据的方式。让我们来看一个快速示例。如果你克隆 TODO 仓库并运行 mvn spring-boot:run,你可以非常轻松地浏览它的值。所以……试试看吧!我知道很多人一直在询问类似的支持。
  6. 请关注 Michael Plod 即将举行的网络研讨会,主题是他为什么推荐 Spring - 了解其技术(以及一些业务)案例!Michael 是一位出色的讲师,经常出现在会议上。立即注册 7 月 22 日的活动。
  7. 7 月 29 日,Crafter 软件公司的 Russ Danner 将向我们介绍如何使用 Spring 和 Groovy 征服支持内容的 Web 和移动应用程序
  8. Andreas Eisele 精心编写了一篇关于在 Spring 管理的单元测试中使用 @Transactional 背后的机制的介绍,并对常见场景、代码等进行了分析。这是一篇很棒的讨论文章,也是一篇深思熟虑的博文。
  9. Cegega 博客对如何使用 Spring Batch 的 RetryTemplate 处理异常进行了非常棒的探讨。
  10. 这个主题本周对我来说非常重要,所以我只想分享这篇经典文章:如何在 Spring 的 JTA 支持下使用 Atomikos
  11. 当然,你正在关注 Groovy 语言负责人 Guillaume LaForge 的《本周 Groovy》,对吧? :-)

Spring Data REST 现在支持 ALPS 元数据

工程 | Greg L. Turnquist | 2014 年 7 月 14 日 | ...

随着 Spring Data 的 Evans M1 里程碑版本最近发布,Spring Data REST 现在支持 ALPS 元数据,用于描述导出的资源的语义。

ALPS 是一种数据格式,用于定义应用层语义的简单描述,其复杂度类似于 HTML 微格式。它还支持将元数据添加到现有媒体类型。从 2.2 M1 版本开始,Spring Data REST 暴露了基于 JSON 的 ALPS 资源,可以帮助我们导航其资源。让我们看看如何实现吧!

我们可以从一个快速示例开始。如果你克隆 TODO 仓库并运行 mvn spring-boot:run,你可以…

Spring Session 1.0.0.M1 发布

工程 | Rob Winch | 2014 年 7 月 8 日 | ...

我很高兴地宣布 Spring Session 1.0.0.M1 发布。

好处

本项目提供了许多好处,包括:

  • 从任何环境(即 Web、消息基础设施等)访问会话
  • 在 Web 环境中
    • 以供应商中立的方式支持集群
    • 可插拔的会话 ID 确定策略
    • 在 WebSocket 激活时轻松保持 HttpSession 存活

入门

请参阅 README 的快速入门部分,了解如何在您的应用程序中使用 Spring Session。

请提供反馈

如果您有反馈,我鼓励您通过 github issues、评论区或在 twitter 上 @rob... 与我联系

本周 Spring - 2014 年 7 月 8 日

工程 | Josh Long | 2014 年 7 月 8 日 | ...

欢迎来到另一期《本周 Spring》!希望我们的美国读者度过了一个愉快的 7 月 4 日,也希望其他所有人都度过了一个愉快的周五!

和往常一样,本周有很多要讨论的事情,所以我们开始吧!

  1. 不眠不休的 Spring Security 负责人 Rob Winch 刚刚宣布了 Spring Session 的第一个里程碑版本。Spring Session 使从任何环境(即 Web、消息基础设施等)访问会话变得容易,以供应商中立的方式支持集群,插入策略来确定会话 ID,并在 WebSocket 活动时轻松保持 HttpSession 存活。这真是非常酷!事实上,这可能解决了上周我遇到的一个问题,当时我想从 Web Socket 处理程序访问 HTTP session!
  2. Andy Wilkinson 刚刚宣布发布了 Spring Boot 1.1.4 版本。新版本包含许多 Bug 修复和一些小的新功能,包括对 Tomcat 8 的第一个稳定预览版本的支持。
  3. Andy 刚刚宣布了 Spring IO 的第一个维护版本,它更新了平台中的版本,包括 Spring AMQP 1.3.5、Spring Boot 1.1.4、Spring Batch 3.0.1、Spring for Apache Hadoop 2.0.1 和 Spring Framework 4.0.6。干得好,Andy!
  4. Thomas Risberg 刚刚宣布发布了 Spring for Apache Hadoop 2.0.1,该版本更新了依赖项版本,包括 Hadoop 2.4.1、Spring Framework 4.0.6.RELEASE、Spring Batch 3.0.1.RELEASE 和 Spring Boot 1.1.4.RELEASE。
  5. Stéphane Nicoll 刚刚宣布 Spring Framework 4.0.6 现已可用。此版本包含约 50 个 Bug 修复。
  6. Spring Social 负责人 Craig Walls 刚刚宣布 Spring Social Facebook 2.0.0.M1 现已可用。此版本支持新的 Facebook v2.0.0 Graph API,该 API 引入了一些突破性的强制更改(谢谢,Facebook!)。
  7. Groovy 项目负责人 Guillaume LaForge 宣布了新 Groovy 网站的 Beta 版本,并正在向广大社区征集反馈。
  8. 一线故事:7 月 15 日,Casey Doolittle 和 Phil Dutson 将为您带来一个网络研讨会,讲述一个疯狂的项目,以及他们如何在 24 小时内使用 Spring 构建一个购物车
  9. 请关注 Michael Plod 即将举行的网络研讨会,主题是他为什么推荐 Spring - 了解其技术(以及一些业务)案例!Michael 是一位出色的讲师,经常出现在会议上。立即注册 7 月 22 日的活动。
  10. 7 月 29 日,Crafter 软件公司的 Russ Danner 将向我们介绍如何使用 Spring 和 Groovy 征服支持内容的 Web 和移动应用程序
  11. 去年,Spring 工具忍者 Andy Clement 和 Martin Lippert 在 SpringOne2GX 2013 上做了一个精彩的演讲,介绍了最新最棒的工具
  12. 去年在 SpringOne2GX 2013 大会上,Julien Dubois(你可能从 JHipster 认出他来...)做了一个精彩的演讲,介绍了如何运行和调优经典的 Spring petclinic 示例应用程序的性能
  13. 《Dr. Dobb's》发表了一篇不错的文章,介绍了新的 Spring IO 版本
  14. InfoQ 的 Matt Raible 也对 Spring IO 进行了不错的介绍。看看吧!
  15. Literate Java blog》有一篇有趣的文章,讨论了 Spring 中 隐式(以组件扫描为中心)与 显式 配置(使用 XML)的对比。我认为 Java 配置应该被认真考虑,因为它结合了显式 XML 配置(集中化、易于理解的配置)和隐式(但类型安全、以 Java 注解和组件扫描为中心)配置的最佳特性。无论如何,这是一篇有趣的文章!
  16. Spring Boot 现在已纳入 Thoughtwork 的技术雷达中,处于 评估 阶段。
  17. Codeleak.pl 网站对 Spring 4 中一个虽小但超强的特性进行了不错的介绍——CGLIB 代理不再需要默认构造函数!
  18. 我很喜欢这一系列关于使用 Spring 和 Angular.js 的教程。你可能也会喜欢。Christopher Henkel 干得漂亮!
  19. 《Apprenticeship Notes blog》有一系列很棒的教程,介绍了如何一起使用 Spring MVC、Thymeleaf 和 Bootstrap
  20. Autoletics》博客有一篇关于他们剖析 Reactor 项目的经验的精彩文章,其中包含大量数据。内容很有趣!其中一些观点也很值得关注。就像本摘要的读者所知,Reactor 是一个高并发的事件驱动的 IO 就绪平台。而且,它快得离谱
  21. 我想向 Paul Snively 致敬,他一直在使用 Spring(和 Scala)与第三方 Spring MVC for Alfresco 的集成相结合,构建基于 Alfresco 的解决方案。真棒!
  22. 无论你是否喜欢新的 Groovy 网站(尽管,你为什么不喜欢呢?),你都会喜欢新的 Groovy 2.3.4 版本,它刚刚发布,包括静态编译和 AST 转换的改进。
  23. HornetQ 项目负责人 Clebert Suconic 正在邀请社区对 将 HornetQ 捐赠给 Apache ActiveMQ 项目的提议提供反馈。我们知道我们社区的开发人员既了解又使用这两个项目,所以如果这个提议的合并影响到您,现在可能是提供反馈的好时机!我个人喜欢这个想法。ActiveMQ.next(长期代号“Apollo”)似乎可以受益于 HornetQ 的贡献。当然,Spring Boot 现在支持 ActiveMQ 和 HornetQ,所以无论如何,您都准备好了!

本周 Spring - 2014 年 7 月 1 日

工程 | Josh Long | 2014 年 7 月 2 日 | ...

欢迎来到另一期《本周 Spring》!已经七月了,夏天来了!你相信吗?时间过得真快。和往常一样,本周有很多内容要介绍,所以我们开始吧。

  1. 上周,我们宣布了 Spring IO 平台。我在这次中奖了,他们让我写了这篇博客,但这项工作反映了一年多的内部讨论、规划、辛勤工作、以及所有 Spring 项目之间的合作与协调。我尽我最大的努力在这篇博客中介绍了 Spring IO 平台。你应该读一读。如果它听起来不够棒,不够有用,那肯定是我没解释好!:D 不要犹豫联系我。Spring IO 平台是一种处理所有 Spring 项目之间依赖关系更简单的方式……

Introducing the Spring IO Platform

工程 | Josh Long | 2014 年 6 月 26 日 | ...

我们很高兴宣布 Spring IO 1.0 发布!

Spring IO 首先是对许多用户已经了解和使用的一个以 Spring 为中心的、凝聚的、协调统一的平台进行逻辑描述。

大东西藏在小小的 (Java) 包里

Spring IO 平台包括 基础层(Foundation Layer) 模块和 执行层(Execution Layer) 领域特定运行时 (DSR)。基础层代表了核心 Spring 模块及其相关的第三方依赖项,这些依赖项已经过协调,以确保流畅的开发体验。Spring IO 执行层提供的 DSR 包括……

本周 Spring - 2014 年 6 月 24 日

工程 | Josh Long | 2014 年 6 月 24 日 | ...

欢迎来到另一期《本周 Spring》——本周我正与出色的 Vaadin 团队合作构建一些非常有趣的应用程序。请随时关注这方面更多的内容!此外,SpringOne2GX 2014 早鸟票已延长至 6 月 30 日,所以请立即注册!话不多说,继续

本周 Spring - 2014 年 6 月 17 日

工程 | Josh Long | 2014 年 6 月 17 日 | ...

欢迎来到另一期《本周 Spring》。本周我在加拿大多伦多,拜访 Pivotal Labs 办公室,并与正在使用 Spring 平台不同部分做着令人惊叹的事情的客户交流。

明天有一些非常激动人心的消息要公布,所以请务必关注明天的这篇博客!

  1. Spring for Hadoop 2.0 GA 版本已发布!新版本增加了对 Apache Hadoop (2.2, 2.4)、Pivotal HD 2.0、Cloudera CDH 5 和 Hortonworks HDP 2.1 的支持,支持 YARN,用于处理 HDFS 的新读写器,使用 Kite SDK 读取和写入 POJO 数据集的新支持,以及更多功能。
  2. Spring YARN 忍者 Janne Valkealahti 编写了一些关于 Spring YARN 的史诗级入门指南。补充一下:加拿大银行对这东西感兴趣!银行——世界上最规避风险的组织!
  3. Stéphane Nicoll 讲述了 Spring 4.1 中Spring 缓存抽象的进一步改进
  4. Stéphane 发布了新的《入门》指南,该指南介绍了 Spring 缓存抽象非常酷!
  5. 加入 Greg Turnquist 于 7 月 8 日的网络研讨会,主题是使用 Spring Boot 构建您的应用程序管理工具。了解如何使用一些 Spring Integration、Spring WebSocket+STOMP 以及其他技术,通过一些轻量级的 Boot+Groovy 代码监控应用程序日志。
  6. 一线故事:7 月 15 日,Casey Doolittle 和 Phil Dutson 将为您带来一个网络研讨会,讲述一个疯狂的项目,以及他们如何在 24 小时内使用 Spring 构建一个购物车
  7. 请关注 Michael Plod 即将举行的网络研讨会,主题是他为什么推荐 Spring - 了解业务和技术案例!Michael 是一位出色的讲师,经常出现在会议上。立即注册 7 月 22 日的活动。
  8. 7 月 29 日,Crafter 软件公司的 Russ Danner 将向我们介绍如何使用 Spring 和 Groovy 征服支持内容的 Web 和移动应用程序
  9. SpringOne2GX 2013 重播来自 Splunk:将 Splunk 集成到您的 Spring 应用程序中
  10. SpringOne2GX 2013 重播来自 JFrog:开放/封闭软件 - 使用 Spring Framework 开发免费增值应用程序
  11. Kailashnath Kutti 在新加坡 Spring 用户组谈论Hadoop 中的脚本和查询。精彩的演讲,快去看看吧!
  12. 说到 Hadoop,请查看 GigaOm 上的这篇文章,关于 Hadoop 生态系统的现状以及 Pivotal 的贡献
  13. 我喜欢 Rafał Nowak 对 Spring Boot 的介绍
  14. Dzone 网站上 Lubos Krnac 发表了一篇不错的文章,讨论了使用 Spring Security 的“默认安全”与“异常安全”方法。我喜欢它!Spring Security 的优点在于选择权始终在你手中。
  15. Sezin Karli 写了一篇不错的文章,关于如何 使用 Spring Boot 的自动配置功能支持 Spring Social
  16. 我非常喜欢 Netflix 工程师 Tomas Lin 的精彩文章,关于使用 Spring Boot 读取和验证配置属性列表。
  17. 恭喜 Socrates 团队在 HackSummit 大会上凭借对图数据库最具创新性的社会公益用途赢得了 Neo4j 奖项。这与 Spring 有很大关系吗?不,只是 Neo4j 对于许多不同类型的数据工作负载来说是一个非常不错的选择。你也许可以看看我和出色的 Michael Hunger 不久前就这个话题做的一个网络研讨会
  18. 一篇老但很有价值的文章:Keyhole 软件公司的 Mark Adelsberger 写了一篇不错的文章,关于他们如何使用 Spring 对 RabbitMQ 的支持,同时提供了一个关于同一主题的教程。

Spring 4.1 中缓存的进一步改进

工程 | Stéphane Nicoll | 2014 年 6 月 16 日 | ...

这篇文章是对我之前关于 JSR-107 的文章的后续。增加对 JSR-107 的支持让我们有机会回顾我们自己的实现,看看两者如何愉快地共存。Spring 4.1 还包含社区反馈的一系列改进。

我还高兴地宣布,一份新的关于缓存抽象的入门指南已经发布,请查看使用 Spring 缓存数据

CacheResolver

我们在 JSR-107 中发现的一个最好的特性是在运行时解析要使用的缓存的能力,这基于实际的方法执行。到目前为止,我们自己的支持依赖于在注解(或切面定义)级别指定缓存名称。当存在多个 CacheManager 时,有人提出了几个问题……

获取 Spring 邮件列表

订阅 Spring 邮件列表,保持联系

订阅

先行一步

VMware 提供培训和认证,助您加速进步。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅,提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

近期活动

查看 Spring 社区即将举行的所有活动。

查看全部