Micronaut 控制反转

2023-02-25 14:13 更新

与依赖运行时反射和代理的其他框架不同,Micronaut 使用编译时数据来实现依赖注入。

这是 Google Dagger 等工具采用的类似方法,它主要是为 Android 设计的。另一方面,Micronaut 专为构建服务器端微服务而设计,并提供许多与其他框架相同的工具和实用程序,但不使用反射或缓存过多的反射元数据。

Micronaut IoC 容器的目标总结为:

  • 使用反射作为最后的手段

  • 避免代理

  • 优化启动时间

  • 减少内存占用

  • 提供清晰易懂的错误处理

请注意,Micronaut 的 IoC 部分可以完全独立于 Micronaut 用于您希望构建的任何应用程序类型。

为此,请配置您的构建以包含 micronaut-inject-java 依赖项作为注释处理器。

最简单的方法是使用 Micronaut 的 Gradle 或 Maven 插件。以 Gradle 为例:

配置 Gradle

plugins {
    id 'io.micronaut.library' version '1.3.2' (1)
}

version "0.1"
group "com.example"

repositories {
    mavenCentral()
}

micronaut {
    version = "3.8.5" (2)
}
  1. 定义 Micronaut 库插件

  2. 指定要使用的 Micronaut 版本

IoC 的入口点是 ApplicationContext 接口,其中包括一个运行方法。下面的例子演示了它的使用:

运行 ApplicationContext

try (ApplicationContext context = ApplicationContext.run()) { (1)
    MyBean myBean = context.getBean(MyBean.class); (2)
    // do something with your bean
}
  1. 运行 ApplicationContext

  2. 从 ApplicationContext 中检索一个 bean

该示例使用 Java try-with-resources 语法来确保 ApplicationContext 在应用程序退出时干净地关闭。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号