Micronaut框架3的GA 版本发布!


Project Reactor、注入泛型类型、支持生命周期注释、GraalVM 增强等等都在一个新的 Micronaut 版本中。
 
Micronaut 框架的先前版本包含 RxJava2 作为传递依赖项,而 RxJava2 是用于在框架内实现许多功能的反应式流实现。默认情况下,Micronaut 框架现在不再公开任何反应式流实现。此外,RxJava2 内部的所有用法都已替换为 Project Reactor。
RxJava3 发布后,我们不得不做出升级到 RxJava3 或切换到 Reactor 的决定。我们认为 Reactor 是更好的选择,因为它具有在反应流中维护状态的功能,并且被社区更广泛地采用。
我们建议当前使用 RxJava2 的应用程序切换到 Project Reactor,因为这将导致运行时类路径上的类更少,并且上下文传播和反应式类型转换的潜在问题更少。如果切换不可能或不可行,只需添加对io.micronaut.rxjava2:micronaut-rxjava2模块的依赖即可继续使用 RxJava2。
对于使用 Project Reactor 或 RxJava3 的应用程序,此更改不会产生任何影响。
 
此版本包括对注释继承方式的更改。简而言之,所有注释都是从以前版本中的父接口或类继承的。现在一个注解必须被注解@Inherited才能被继承。不再继承与 bean 作用域或 around/introduction 建议相关的任何注释。
由于对使用javax.*命名空间的商标限制,Micronaut框架已经从切换javax.inject到jakarta.inject注释为在默认情况下与框架包括注释集。我们建议您将应用程序切换到新的注释。这应该只是改变import的问题。对于 的当前用途javax.inject.Provider,我们建议切换到io.micronaut.context.BeanProvider。
  
对于 Java 用户,现在集成了OpenRewrite。OpenRewrite 更改您的源代码以将应用程序从 Micronaut 框架 2 升级到 3。这是通过需要添加到您的构建中的 Gradle 或 Maven 插件完成的。