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/,获取更多精彩内容!

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
83 2
|
29天前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
50 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
1月前
|
人工智能 前端开发 Java
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
230 12
基于开源框架Spring AI Alibaba快速构建Java应用
|
2月前
|
前端开发 Java 数据库连接
Spring 框架:Java 开发者的春天
Spring 框架是一个功能强大的开源框架,主要用于简化 Java 企业级应用的开发,由被称为“Spring 之父”的 Rod Johnson 于 2002 年提出并创立,并由Pivotal团队维护。
95 1
Spring 框架:Java 开发者的春天
|
1月前
|
SQL Java 数据库连接
从理论到实践:Hibernate与JPA在Java项目中的实际应用
本文介绍了Java持久层框架Hibernate和JPA的基本概念及其在具体项目中的应用。通过一个在线书店系统的实例,展示了如何使用@Entity注解定义实体类、通过Spring Data JPA定义仓库接口、在服务层调用方法进行数据库操作,以及使用JPQL编写自定义查询和管理事务。这些技术不仅简化了数据库操作,还显著提升了开发效率。
47 3
|
2月前
|
Java 数据库连接 开发者
Spring 框架:Java 开发者的春天
【10月更文挑战第27天】Spring 框架由 Rod Johnson 在 2002 年创建,旨在解决 Java 企业级开发中的复杂性问题。它通过控制反转(IOC)和面向切面的编程(AOP)等核心机制,提供了轻量级的容器和丰富的功能,支持 Web 开发、数据访问等领域,显著提高了开发效率和应用的可维护性。Spring 拥有强大的社区支持和丰富的生态系统,是 Java 开发不可或缺的工具。
|
2月前
|
JSON Java Maven
实现Java Spring Boot FCM推送教程
本指南介绍了如何在Spring Boot项目中集成Firebase云消息服务(FCM),包括创建项目、添加依赖、配置服务账户密钥、编写推送服务类以及发送消息等步骤,帮助开发者快速实现推送通知功能。
128 2
|
1月前
|
Java 数据库连接 API
Spring 框架的介绍(Java EE 学习笔记02)
Spring是一个由Rod Johnson开发的轻量级Java SE/EE一站式开源框架,旨在解决Java EE应用中的多种问题。它采用非侵入式设计,通过IoC和AOP技术简化了Java应用的开发流程,降低了组件间的耦合度,支持事务管理和多种框架的无缝集成,极大提升了开发效率和代码质量。Spring 5引入了响应式编程等新特性,进一步增强了框架的功能性和灵活性。
49 0
|
2月前
|
存储 人工智能 Java
将 Spring AI 与 LLM 结合使用以生成 Java 测试
AIDocumentLibraryChat 项目通过 GitHub URL 为指定的 Java 类生成测试代码,支持 granite-code 和 deepseek-coder-v2 模型。项目包括控制器、服务和配置,能处理源代码解析、依赖加载及测试代码生成,旨在评估 LLM 对开发测试的支持能力。
59 1
|
2月前
|
Java BI 调度
Java Spring的定时任务的配置和使用
遵循上述步骤,你就可以在Spring应用中轻松地配置和使用定时任务,满足各种定时处理需求。
166 1