Micronaut 從庫中導入 Bean

2023-02-28 17:04 更新

您可以使用 @Import 批注從使用 JSR-330 批注的外部已編譯庫中導入 bean。

Bean 導入目前僅在 Java 語言中受支持,因為其他語言在源代碼處理期間對類路徑掃描有限制。

例如,要將 JSR-330 TCK 導入應用程序,請?zhí)砑訉?nbsp;TCK 的依賴:

 Gradle Maven 
implementation("io.micronaut:jakarta.inject")
<dependency>
    <groupId>io.micronaut</groupId>
    <artifactId>jakarta.inject</artifactId>
</dependency>

然后在您的 Application 類上定義 @Import 注釋:

package example;

import io.micronaut.context.annotation.Import;

@Import( (1)
        packages = { (2)
                "org.atinject.tck.auto",
                "org.atinject.tck.auto.accessories"},
        annotated = "*") (3)
public class Application {
}
  1. @Import 已定義

  2. 定義要導入的包。請注意,Micronaut 不會遞歸子包,因此需要明確列出子包

  3. 默認情況下,Micronaut 只會導入具有作用域或限定符的類。通過使用 * 你可以讓每個類型成為一個 bean。

一般來說,@Import 應該在應用程序而不是庫中使用,因為如果兩個庫導入相同的 beans,結果可能是 NonUniqueBeanException


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號