内容简介: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,以避免混淆。
此功能允许在类上实现支持安全性、事务和广泛的其他基于代理的机制。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- NPM包(模块)发布、更新、撤销发布
- 有赞灰度发布与蓝绿发布实践
- 【重磅发布】Linkis 0.10.0 版本发布
- BeetlSQL 3.0.9 发布,Idea 插件发布
- 贝密游戏 0.7.0 发布,发布斗地主
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Django 1.0 Template Development
Scott Newman / Packt / 2008 / 24.99
Django is a high-level Python web application framework designed to support the rapid development of dynamic websites, web applications, and web services. Getting the most out of its template system a......一起来看看 《Django 1.0 Template Development》 这本书的介绍吧!
