Micronaut 从库中导入 Bean
2023-02-28 17:04 更新
您可以使用 @Import 批注从使用 JSR-330 批注的外部已编译库中导入 bean。
Bean 导入目前仅在 Java 语言中受支持,因为其他语言在源代码处理期间对类路径扫描有限制。
例如,要将 JSR-330 TCK 导入应用程序,请添加对 TCK 的依赖:
Gradle | Maven |
|
|
然后在您的 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 {
}
@Import 已定义
定义要导入的包。请注意,Micronaut 不会递归子包,因此需要明确列出子包
默认情况下,Micronaut 只会导入具有作用域或限定符的类。通过使用 * 你可以让每个类型成为一个 bean。
一般来说,@Import 应该在应用程序而不是库中使用,因为如果两个库导入相同的 beans,结果可能是 NonUniqueBeanException
以上内容是否对您有帮助:
更多建议: