Micronaut 控制反转
与依赖运行时反射和代理的其他框架不同,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)
}
定义 Micronaut 库插件
指定要使用的 Micronaut 版本
IoC 的入口点是 ApplicationContext 接口,其中包括一个运行方法。下面的例子演示了它的使用:
运行 ApplicationContext
try (ApplicationContext context = ApplicationContext.run()) { (1)
MyBean myBean = context.getBean(MyBean.class); (2)
// do something with your bean
}
运行 ApplicationContext
从 ApplicationContext 中检索一个 bean
该示例使用 Java try-with-resources 语法来确保 ApplicationContext 在应用程序退出时干净地关闭。
更多建议: