Java 近期新闻:Hibernate 6.0、JobRunr 5.0、JHipster 7.8.0、Spring CVEs、JReleaser 1.0-RC2

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本期 Java 近期新闻综述内容涉及 JDK 19、Spring Boot、Spring CVEs、Apache Tomcat 点版本、Quarkus Tools for Visual Studio Code、Micronaut 3.4.1、JetBrains 加入 Micronaut 基金会、Open Liberty Paketo Liberty Buildpack、Hibernate 6.0、JobRunr 5.0、WildFly 26.1 Beta S2I 镜像、JReleaser 1.0-RC2、MicroStream 7.0-M2、JHipster 7.8.0、JMH 1.35。

JDK 19

JDK 19早期访问构建的Build 16在上周发布,它是 Build 15 的升级,修复了各种问题。要了解更多细节信息,请查看发布说明。

对于JDK 19,我们鼓励开发者通过Java Bug数据库报告缺陷。

Spring Framework

Spring Framework 5.3.18 和 5.2.20 版本是针对 CVE-2022-22965发布的(Spring Framework RCE via Data Binding on JDK 9+,即在 JDK 9 及更高版本上运行的 Spring MVC 或 Spring WebFlux 应用程序可能存在通过数据绑定执行远程代码的漏洞)。该漏洞被称为Spring4Shell。InfoQ 将在后续报道中带来更详细的信息。

Spring Framework 5.3.17 的发布是为了解决 CVE-2022-22950:Spring Expression DoS漏洞,即用户有可能提供特制的Spring表达式语言 (SpEL) 表达式,导致拒绝服务的情况。

Spring Cloud Function 3.1.7 和 3.2.3 版本的发布是为了解决 CVE-2022-22963:通过恶意的Spring表达式在Spring Cloud Function中远程执行代码,即用户在使用路由功能时,有可能提供一个特制的 SpEL 路由表达式,这可能导致远程代码执行,暴露对本地资源的访问。

Spring Boot的2.6.6和2.5.12版本发布,特点是依赖项升级到 Spring Framework 5.3.18,Jackson BOM 分别升级到 2.13.2.20220328 和 2.12.6.20220326 版本。这两个点版本都包含解决 CVE-2022-22965 的 Spring Framework 5.3.18 和 5.2.20 版本。

Spring Cloud Azure 4.0发布,该版本的新特性有:简化了依赖管理;扩展了对 Azure 支持模块的支持;重新设计了 Spring 模块依赖模型,从而提供一个更灵活的方法来应对不同的应用方法。

在 SpringOne 2021 大会之后,VMware 高级工程师和 Spring 框架项目负责人Jürgen Höller提供了关于 JDK 17 及后续版本采用的最新情况,他写道:

我们在主分支上建立了新的基线,已经有一些里程碑出来了。反馈非常积极,不仅涉及框架改进方面,还涉及应用层面的 Java 升级动机。当然,也不止 JDK 17 LTS:JDK 18 已经是当前的一个选项,JDK 19 是当前版本,今年晚些时候将达到最终版本,JDK 20 届时将进入早期访问,JDK 21 LTS 也已呼之欲出。

Apache Tomcat

对于 Apache Tomcat 团队来说,这是忙碌的一周,他们提供了 8.5、9.0 和 10.0 发布序列的点版本。

8.5.78、9.062、10.0.2和10.1.0-M14 Alpha版本的新特性包括:更新 Tomcat Native Library 1.2.32 的打包版本,以获得用 OpenSSL 1.1n 构建的 Windows 二进制文件;改进了未知 HTTP/2 设置帧的日志记录;如果使用了不兼容的 TLS 配置(如带有 CLIENT-CERT 认证的 HTTP/2),则会有额外的警告;加固了类加载器,以缓解 CVE-2022-22965,即 Spring4Shell。

8.5 和 9.0 发布序列是作为Java Servlet、JavaServer Pages、Java Unified Expression Language、Java WebSocket和Java Authentication Service Provider Interface for Containers技术的开源软件实现。

10.0 和 10.1 里程碑发布序列是作为Jakarta Servlet、Jakarta Server Pages、Jakarta Expression Language、Jakarta WebSocket、Jakarta Authentication和Jakarta Annotations规范的开源软件实现。

Quarkus

红帽公司发布了 Quarkus Tools for Visual Studio Code 1.10.0,新特性包括:一个更容易发现的“部署到 OpenShift”命令;一个新的 Qute 语言服务器,支持补全、验证、悬停等;Qute模板引擎增强;验证@ConfigMapping注解是否只放在接口上;支持使用@ApplicationPath注解来处理项目 URL,以替代属性支持扩展。要了解更多细节信息,请查看更新日志。

Micronaut

Micronaut 基金会发布了 Micronaut 3.4.1,新特性包括:支持BeanIntrospectionModule类中的@JsonNaming和@JsonProperty注解;允许null序列化;更新jackson-databind 2.13.2.2;对Micronaut Serialization 1.0.1、Micronaut AOT 1.0.1、Micronaut Maven Plugin 3.2.1 和Micronaut Servlet 3.2.2进行依赖升级。要了解更多细节信息,请查看更新日志。

Micronaut基金会还宣布,JetBrains s.r.o 已经加入基金会,成为工具和基础设施合作伙伴。JetBrains 加入了 Gradle 公司,后者于 2022 年 1 月初加入,成为第一个合作伙伴。Micronaut 基金会成立于2020年6月,是一个非营利性组织,在技术咨询委员会的支持下,推动Micronaut框架的创新和采用。

Open Liberty

IBM推出了Paketo Liberty Buildpack,这是一套可执行程序,可以检查应用程序的源代码并创建一个构建计划。以实现云原生计算基金会构建包规范的Paketo Buildpacks为基础,Paketo Liberty Buildpacks 旨在将应用程序源代码转化为容器镜像,并维护它们。

WildFly

WildFly 26.1 Beta Source-to-Image(S2I)Docker镜像已在quay.io上发布。quay.io 是红帽公司用于构建、分析和分发容器镜像的工具。quay.io/wildfly/wildfly-centos7和quay.io/wildfly/wildfly-runtime-centos7镜像自 WildFly 26 起被废弃,将被基于WildFly应用服务器Maven插件3.0 版本的新架构所取代。

Hibernate

Hibernate ORM 6.0 在上周发布,新特性包括:支持Jakarta Persistence规范;通过将ResultSet按名读取改为按位置读取来提高性能;与新增的按位置读取范式相关的新的映射模型 SPI;重新设计的类型安全注解;经过更新的语义查询模型。InfoQ 后续将带来更详细的新闻报道。

JobRunr

Java 后台处理工具JobRunr发布了 5.0 版本,带来了一些新的特性,包括:支持 Spring Native 和 SLF4J 提供的Mapped Diagnostics Context;用定义好的时间间隔调度循环作业;与 MicroMeter 集成;更容易集成多数据库;支持在一周的最后一天或每月的最后一天执行作业。InfoQ 后续将带来更详细的新闻报道。

JReleaser

在通往 1.0.0 版本的道路上,JReleaser的第二个候选版本和经过更新的早期访问版本于上周发布,新特性包括:依赖升级到aws-java-sdk 1.12.191、jsonschema 4.24. 1 和 Download Gradle Plugin (downloadPluginVersion)5.0.4;修复了在 Windows 上不能正确解析的提交信息;一个解决“无法解析版本'2000.0.0[.A]'与'YYY.MINOR.MICRO[.MODIFIER'”错误信息的修复。

JHipster

JHipster 7.8.0 版本发布,新特性包括:依赖升级到 Spring Boot 2.6.6;支持 Java 18;React Micro Frontend 的一个实现;一个针对关系实体 Couchbase 分页请求的修复;许多库更新。要了解更多细节信息,请查看更新日志。

MicroStream

在第一个测试版本发布一周后,MicroStream 7.0 的第二个测试版本发布了,针对新版本安卓系统的反射限制,它提供了一个新的安卓类型处理器。

Java Microbench Harness(JMH)

JMH 1.35 版本发布,主要是修复了以下问题:SingleShot模式应该处理@OperationsPerInvocations注解的多个调用;async-profiler使用错误的分析器输出选项;perfasm分析器不接受freq=max和showCounts=x选项,后者支持可配置的事件计数标准化;改进perfasm元数据,在其中显示实际的版本号而不是compilationID。

原文链接:

https://www.infoq.com/news/2022/04/java-news-roundup-mar28-2022/

了解更多软件开发与相关领域知识,点击访问 InfoQ 官网:https://www.infoq.cn/,获取更多精彩内容!

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
5天前
|
前端开发 Java API
Java入门教程:掌握Spring MVC的双向数据绑定技术
以上步骤展示了如何利用 Spring MVC 实现双向数据绑定:从显示表单、提交表单、验证输入、直至返回结果页面都涉及到不同层次间交互过程,在整个过程都无需手动去编写繁琐代码去手动获取或设置每一项值。
55 20
|
7天前
|
人工智能 Java API
构建基于Java的AI智能体:使用LangChain4j与Spring AI实现RAG应用
当大模型需要处理私有、实时的数据时,检索增强生成(RAG)技术成为了核心解决方案。本文深入探讨如何在Java生态中构建具备RAG能力的AI智能体。我们将介绍新兴的Spring AI项目与成熟的LangChain4j框架,详细演示如何从零开始构建一个能够查询私有知识库的智能问答系统。内容涵盖文档加载与分块、向量数据库集成、语义检索以及与大模型的最终合成,并提供完整的代码实现,为Java开发者开启构建复杂AI智能体的大门。
239 1
|
11天前
|
监控 Java 数据库
从零学 Dropwizard:手把手搭轻量 Java 微服务,告别 Spring 臃肿
Dropwizard 整合 Jetty、Jersey 等成熟组件,开箱即用,无需复杂配置。轻量高效,启动快,资源占用少,内置监控、健康检查与安全防护,搭配 Docker 部署便捷,是构建生产级 Java 微服务的极简利器。
64 0
|
2月前
|
前端开发 Java 开发者
Java新手指南:在Spring MVC中使用查询字符串与参数
通过结合实际的需求和业务逻辑,开发者可以灵活地利用这些机制,为用户提供更丰富而高效的Web应用体验。
78 15
|
2月前
|
Cloud Native Java API
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
293 0
|
3月前
|
安全 Java 微服务
Java 最新技术和框架实操:涵盖 JDK 21 新特性与 Spring Security 6.x 安全框架搭建
本文系统整理了Java最新技术与主流框架实操内容,涵盖Java 17+新特性(如模式匹配、文本块、记录类)、Spring Boot 3微服务开发、响应式编程(WebFlux)、容器化部署(Docker+K8s)、测试与CI/CD实践,附完整代码示例和学习资源推荐,助你构建现代Java全栈开发能力。
381 0
|
3月前
|
JSON 前端开发 Java
Java新手指南:如何在Spring MVC中处理请求参数
处理Spring MVC中的请求参数是通过控制器方法中的注解来完成的。这些注解包括 `@RequestParam`, `@PathVariable`, `@ModelAttribute`, `@RequestBody`, `@RequestHeader`, `@Valid`, 和 `@RequestMapping`。使用这些注解可以轻松从HTTP请求中提取所需信息,例如URL参数、表单数据或者JSON请求体,并将其转换成Java对象以供进一步处理。
214 17
|
3月前
|
Java 数据库连接 API
Java 8 + 特性及 Spring Boot 与 Hibernate 等最新技术的实操内容详解
本内容涵盖Java 8+核心语法、Spring Boot与Hibernate实操,按考试考点分类整理,含技术详解与代码示例,助力掌握最新Java技术与应用。
111 2
|
4月前
|
IDE Java 数据库连接
解决Java环境中无法识别org.mybatis.spring.annotation.MapperScan的问题。
祝你好运,在这场MyBatis的魔法冒险中获得胜利!记住,魔法书(官方文档)永远是你最好的朋友。
292 18
|
4月前
|
Java 数据库连接 API
Java 对象模型现代化实践 基于 Spring Boot 与 MyBatis Plus 的实现方案深度解析
本文介绍了基于Spring Boot与MyBatis-Plus的Java对象模型现代化实践方案。采用Spring Boot 3.1.2作为基础框架,结合MyBatis-Plus 3.5.3.1进行数据访问层实现,使用Lombok简化PO对象,MapStruct处理对象转换。文章详细讲解了数据库设计、PO对象实现、DAO层构建、业务逻辑封装以及DTO/VO转换等核心环节,提供了一个完整的现代化Java对象模型实现案例。通过分层设计和对象转换,实现了业务逻辑与数据访问的解耦,提高了代码的可维护性和扩展性。
167 1