大家好,我是你们的码农大哥——栈长。
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/native-build-tools
它取代了之前的 native-image-maven-plugin
插件,它可以通过本地原生镜像编译器来构建和测试你的原生应用。
这个升级就感觉有点大,意味着之前那个插件的玩法就行不通了,需要用这个新的构建工具插件。。
2、支持原生测试
现在可以使用 mvn -Pnative test
或 gradle 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@Servicepublic 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-projects-experimental/spring-native/releases
快速开启 Spring Native:
https://start.spring.io/
如图所示,Spring Native 目前还属于体验项目,但它无需 JVM,有更快的性能、更少的资源占用,这肯定是未来的趋势,有兴趣的可以研究下,有不清楚的可以看看栈长的 Spring Native 实战,源码已经上传:
https://github.com/javastacks/javastack
栈长有时间也会继续研究分享 Spring Native 动态及教程,公众号Java技术栈第一时间推送,请大家持续关注哦!
最后,觉得我的文章对你用收获的话,动动小手,给个在看、转发,原创不易,栈长需要你的鼓励。
参考资料:
https://spring.io/blog/2021/06/14/spring-native-0-10-0-available-now
https://github.com/spring-projects-experimental/spring-native
版权申明:本文系公众号 "Java技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,禁止抄袭、洗稿,请自重,尊重大家的劳动成果和知识产权,抄袭必究。
近期热文推荐:
1.1,000+ 道 Java面试题及答案整理(2021最新版)
2.终于靠开源项目弄到 IntelliJ IDEA 激活码了,真香!
3.阿里 Mock 工具正式开源,干掉市面上所有 Mock 工具!
4.Spring Cloud 2020.0.0 正式发布,全新颠覆性版本!
5.《Java开发手册(嵩山版)》最新发布,速速下载!
觉得不错,别忘了随手点赞+转发哦!
原文转载:http://www.shaoqun.com/a/815665.html
我解开了岳的乳 岳好紧好紧我要进去了:http://lady.shaoqun.com/m/a/247389.html
ryder:https://www.ikjzd.com/w/1264.html
少妇口述:乱性丈夫将我拖进换妻游戏:http://lady.shaoqun.com/a/73636.html
拍怕网:https://www.ikjzd.com/w/2205
大家好,我是你们的码农大哥——栈长。6月初的时候给大家介绍了Spring团队的最新杀手锏项目:SpringNative,它的存在就是干掉JVM,另起一个JVM之外的生态,上篇也简单实战了一下,相信大家都有了一个全新的认知,没看过的可以点链接进去看下。SpringNative上一个版本为:0.9.2,只支持SpringBoot2.4.5。SpringNative最近又发布了基于SpringBoot2
感恩有你!今天,汶川有话对你说……:http://www.30bags.com/a/223133.html
感觉年味越来越淡?一组照片带你感受火红的牛年:http://www.30bags.com/a/241698.html
marks spencer:https://www.ikjzd.com/w/2385
睡觉时被儿子滑进去 口述那晚将养母弄的全身抽搐的时光:http://lady.shaoqun.com/a/274112.html
一个出轨女人的自白:情夫是闺蜜雇的托我惨遭骗情:http://lady.shaoqun.com/m/a/79297.html
感恩节做什么好?:http://www.30bags.com/a/403348.html
情感口述:老婆出轨被撞破竟一错再错:http://lady.shaoqun.com/m/a/77121.html
女人口述被亲下面的感觉 他的舌头弄得我好舒服:http://lady.shaoqun.com/a/247530.html
被两个男人夹在中间玩 一前一后两个撑坏了:http://www.30bags.com/m/a/249853.html
春秋节秘史——隐藏在公众视线之外的青春放荡的龚辉(父子):http://www.30bags.com/a/443908.html
这些著名的模范夫妇实际上很浪漫,在鸟类和动物的世界里可以被称为情侣:http://www.30bags.com/a/443909.html
浅谈野史中的同治皇帝卖淫(下):http://www.30bags.com/a/443910.html
No comments:
Post a Comment