gpt4 book ai didi

java - Micronaut 是否应该针对依赖注入(inject)错误生成编译器警告/错误?

转载 作者:行者123 更新时间:2023-12-02 05:42:53 26 4
gpt4 key购买 nike

我刚刚开始使用 Micronaut,我惊讶地发现一件事是,尽管有注释处理器,但似乎没有任何警告来指示何时存在依赖项注入(inject)问题。例如,当我有一个带有 2 个具体实现的接口(interface)的 @Inject 时。我希望我的 IDE 在注入(inject)注释上提供编译器警告,告诉我有 2 种可能的绑定(bind),并且我需要提供 @Named 注释来消除歧义。

我的期望是否不正确,绑定(bind)问题仍然只在运行时显示,还是我没有正确配置 IDE 以使用 Micronaut 正确通知我这些 DI 错误?

Java version: 8
IDE: IntelliJ IDEA Ultimate
Micronaut Version: 1.1.1
Build Tool: maven

最佳答案

因为编译时有 2 个可用并不意味着运行时也有 2 个可用。

人们以另一种方式问了同样的问题,想知道为什么我们不能在编译时报告 bean 不存在,答案是仅仅因为它在编译时不存在并不意味着它赢了运行时不存在。您在编译时不知道运行时类路径上会出现什么,可以将 bean 配置为根据运行时条件有条件加载等。

编辑

我意识到我没有明确回答您的问题...

Is my expectation incorrect and binding problems are still only revealed at runtime, or have I not configured my IDE correctly to properly inform me of these DI errors using Micronaut?

第一部分的答案是肯定的,您的期望是错误的。第二部分的答案是您的 IDE 配置与所讨论的行为无关。

希望对您有所帮助。

关于java - Micronaut 是否应该针对依赖注入(inject)错误生成编译器警告/错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56121789/

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