Spring Native 0.10.0 发布

栏目: 软件资讯 · 发布时间: 5年前

内容简介:Spring Native 0.10.0 已发布,此版本基于 Spring Boot 2.5 和 GraalVM 21.1,主要带来了以下新功能: 引入原生测试 (native testing) 新增来自 GraalVM 团队的新官方 Gradle 插件 引入可用于类的 AOT(ahead-of-t...

Spring Native 0.10.0 已发布,此版本基于 Spring Boot 2.5 和 GraalVM 21.1,主要带来了以下新功能:

  • 引入原生测试 (native testing)

  • 新增来自 GraalVM 团队的新官方 Gradle 插件

  • 引入可用于类的 AOT(ahead-of-time) 代理

此外还包括 43 个错误修复、文档改进和依赖项升级这些变化。

原生测试和 Gradle 插件

Spring Native 开发团队称一直在与 GraalVM 团队合作,以将原生镜像在构建插件方面提升到一个新的水平。现在,新的原生构建工具取代了前者native-image-maven-plugin,并支持使用本地编译器native-image构建和测试原生应用程序。

以前仅提供 Maven 支持,现在提供了 Maven 和 Gradle 插件。如果你正在升级,新的 Maven 插件坐标为org.graalvm.buildtools:native-maven-plugin:0.9.0,配置好原生构建 工具 插件后,开发者不仅可以通过mvn -Pnative -DskipTests package或gradle nativeBuild构建自己的应用程序,还可以使用mvn -Pnative test或gradle nativeTest将 JUnit 5 测试作为原生镜像运行。对此,Spring Native 本身已升级以添加初始测试支持,因此@SpringBootTest会作为原生镜像运行。这是原生 Spring Boot 应用程序的一个重要里程碑,也是 JVM 生态的一个重要里程碑,包括 Spring 本身,现在可以使用官方插件来提升原生支持的质量和可维护性。

可用于类的 AOT(ahead-of-time) 代理

对于原生镜像,需要在构建时定义代理。到目前为止,Spring Native 只支持只能在接口上使用的 JDK 代理,不支持在 JVM 上通过 CGLIB 代理处理的用于类的代理,因为原生世界不支持在运行时生成字节码。

// Typical security use case of a class proxy now supported on native
@Service
public class GreetingService {

    public String hello() {
        return "Hello!";
    }

    @PreAuthorize("hasRole('ADMIN')")
    public String adminHello() {
        return "Goodbye!";
    }
}

但从 0.10 开始,现在可以在构建时通过@AotProxyHint注释生成用于类的代理。请注意前者@ProxyHint已被重命名为@JdkProxyHint,以避免混淆。

此功能允许在类上实现支持安全性、事务和广泛的其他基于代理的机制。

详细更新说明查看发布公告。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

从需求到产品:0岁产品经理进阶之道

从需求到产品:0岁产品经理进阶之道

权莉 / 人民邮电出版社 / 2018-7 / 49.80元

本书主要针对刚入职的初级产品经理,从贴近工作状态的场景切入,对各阶段的知识点进行分类总结,旨在提供一套经过实践检验的产品方法论,为读者从初级产品经理成长为产品经理奠定坚实的基础。 书中提炼的方法和案例涵盖初级产品经理工作的方方面面,从基本技能到思维方式,从需求管理到产品规划定义,从框架选型到流程梳理,从工作模块拆解到案例剖析,用具体且贴合实际工作场景的内容,还原真实的产品工作方法及实践案例,既有方......一起来看看 《从需求到产品:0岁产品经理进阶之道》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器