gpt4 book ai didi

java - Micronaut 中的 DI 错误出现在运行时而不是编译时?

转载 作者:行者123 更新时间:2023-11-30 05:35:49 24 4
gpt4 key购买 nike

我最近做了一个 splinter 的 bean,并收到了一个似乎与 DI 有关的错误:消息:不存在 [java.lang.String] 类型的 bean。确保该类被声明为 bean,如果您使用的是 Java 或 Kotlin,请确保已启用注释处理。

我对收到错误并不感到惊讶 - 我的 bean 显然已损坏。然而,令我惊讶的是,它在运行时崩溃了(当发送第一个请求时,必须实例化损坏的 bean),而我在使用 Micronaut 时预计会在编译时出现这样的错误。

有问题的 bean 在构造函数上使用 @Inject 注释,而不是在我认为需要运行时反射的任何私有(private)字段上。

为什么当 DI 引擎运行时 - 编译时没有检测到这样的错误?

最佳答案

在编译时不可能知道 bean 是否存在。带有 bean 定义的 jar 只能位于运行时类路径上。

关于java - Micronaut 中的 DI 错误出现在运行时而不是编译时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56649904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com