关于java:Spring-Native-0100-发布重大突破

49次阅读

共计 2046 个字符,预计需要花费 6 分钟才能阅读完成。

大家好,我是你们的码农大哥——栈长。

6 月初的时候给大家介绍了 Spring 团队的最新杀手锏我的项目:Spring Native,它的存在就是干掉 JVM,另起一个 JVM 之外的生态,上篇也简略实战了一下,置信大家都有了一个全新的认知,没看过的能够点链接进去看下。

Spring Native 上一个版本为:0.9.2,只反对 Spring Boot 2.4.5。

Spring Native 最近又公布了基于 Spring Boot 2.5 和 GraalVM 21.1 的最新 0.10.0 版本:

Spring Boot 前阵子刚降级到 Spring Boot 2.5.1,Spring Native 当初就开始反对 Spring Boot 2.5,反对进度真快,对钻研 Spring Native 的同学也是福音了。。

Spring Native 0.10.0 带来了一些新个性,还包含 43 个 bug 修复、文档改良、依赖降级等。

Spring Native 0.10.0 新个性

1、反对 Gradle 插件

以前仅提供 Maven 插件反对,当初终于能够反对官网 Gradle 插件了。

并且,还提供了新的构建工具(native-build-tools):

https://github.com/graalvm/na…

它取代了之前的 native-image-maven-plugin 插件,它能够通过本地原生镜像编译器来构建和测试你的原生利用。

这个降级就感觉有点大,意味着之前那个插件的玩法就行不通了,须要用这个新的构建工具插件。。

2、反对原生测试

当初能够应用 mvn -Pnative testgradle nativeTest 以原生镜像的形式运行 JUnit 5 单元测试用例。

另外,Spring Native 当初也增加了单元测试初始化反对,因而以 @SpringBootTest 编写的单元测试用例也能够作为原生镜像运行。Spring Boot 单元测试不分明的,能够关注公众号:Java 技术栈,看看栈长写的教程。

3、反对基于类的代理

咱们都晓得,原生镜像须要在构建时就定义代理,在后面的 Spring Native 版本中,Spring Native 也只能反对基于接口的 JDK 代理,不反对通过 CGLIB 基于一般类的代理,因为 Spring Native 的原生个性就不能反对在运行时生成字节码。

// 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!";}
}

然而从 Spring Native 0.10.0 这个版本开始,基于一般类的代理也能够搞定了,当初能够在构建时通过 @AotProxyHint 注解来生成类的代理,这真是一个大的冲破,牛皮!!!

须要留神的是:

以前的 @ProxyHint 已重命名为 @JdkProxyHint,以防止混同。

它反对安全性、事务、以及其余基于一般类的代理机制,后续也将改良对此类模式的自动检测,以缩小大量所需的显示提醒。

总结

本文介绍了 Spring Native 0.10.0 的 3 个重要的外围个性,每个都是重磅,能够看出 Spring Native 还处于疾速的更新迭代中。

更多公布的细节能够参考:

https://github.com/spring-pro…

疾速开启 Spring Native:

https://start.spring.io/

如图所示,Spring Native 目前还属于体验我的项目,但它无需 JVM,有更快的性能、更少的资源占用,这必定是将来的趋势,有趣味的能够钻研下,有不分明的能够看看栈长的 Spring Native 实战,源码曾经上传:

https://github.com/javastacks…

栈长有工夫也会持续钻研分享 Spring Native 动静及教程,公众号 Java 技术栈第一工夫推送,请大家继续关注哦!

最初,感觉我的文章对你用播种的话,动动小手,给个在看、转发,原创不易,栈长须要你的激励。

参考资料:

https://spring.io/blog/2021/0…

https://github.com/spring-pro…

版权申明:本文系公众号 “Java 技术栈 ” 原创,原创实属不易,转载、援用本文内容请注明出处,禁止剽窃、洗稿,请自重,尊重大家的劳动成果和知识产权,剽窃必究。

近期热文举荐:

1.1,000+ 道 Java 面试题及答案整顿 (2021 最新版)

2. 终于靠开源我的项目弄到 IntelliJ IDEA 激活码了,真香!

3. 阿里 Mock 工具正式开源,干掉市面上所有 Mock 工具!

4.Spring Cloud 2020.0.0 正式公布,全新颠覆性版本!

5.《Java 开发手册(嵩山版)》最新公布,速速下载!

感觉不错,别忘了顺手点赞 + 转发哦!

正文完
 0