Micronaut 控制反轉(zhuǎn)

2023-02-25 14:13 更新

與依賴運行時反射和代理的其他框架不同,Micronaut 使用編譯時數(shù)據(jù)來實現(xiàn)依賴注入。

這是 Google Dagger 等工具采用的類似方法,它主要是為 Android 設(shè)計的。另一方面,Micronaut 專為構(gòu)建服務(wù)器端微服務(wù)而設(shè)計,并提供許多與其他框架相同的工具和實用程序,但不使用反射或緩存過多的反射元數(shù)據(jù)。

Micronaut IoC 容器的目標(biāo)總結(jié)為:

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

  • 避免代理

  • 優(yōu)化啟動時間

  • 減少內(nèi)存占用

  • 提供清晰易懂的錯誤處理

請注意,Micronaut 的 IoC 部分可以完全獨立于 Micronaut 用于您希望構(gòu)建的任何應(yīng)用程序類型。

為此,請配置您的構(gòu)建以包含 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 在應(yīng)用程序退出時干凈地關(guān)閉。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號