我已经创建了一个简单的单元测试,但是IntelliJ错误地将它突出显示为红色。将其标记为错误

没有豆子?

如你所见,它通过了测试?所以它一定是自动连接的?


当前回答

检查bean的包是否正确编写

//Check if this is written right 
package com.package1.package2.package3


import ...

@Service
class ServiceX {

  ...

}

其他回答

你需要做的就是添加

AppConfiguration.java中的@ComponentScan("package/include/your/annotation/component")

因为我认为你的AppConfiguraion.java的包比你的注释组件(@Service, @Component…)的包更深,

比如“package/include/your/annotation/component/deep /config”。

我使用这个注释来隐藏这个错误,当它出现在IntelliJ v.14:

@SuppressWarnings("SpringJavaAutowiringInspection")

令人惊讶的是,一个在Eclipse中成功运行的面向佯装的项目不能在InteliJ中运行。 当启动应用程序时,InteliJ抱怨我试图注入到serviceImpl层的Feign客户端说: 字段personRestClient(我的虚拟客户端)在…需要一个豆子类型…但没有找到。 考虑定义一个‘....’类型的bean在你的配置中。

我浪费了很长时间试图弄清楚是怎么回事。 我发现了一个解决方案(InteliJ),我不完全理解:

Alt Shift F10(或运行菜单) 选择“编辑配置” 在配置窗口中,选中复选框的“包含依赖项” “提供”范围的 运行应用程序

或者选择Eclipse:)

我已经将我的Intellij IDEA版本更新到2022.2.3,如下所示:

IntelliJ IDEA 2022.2.3(终极版) 构建# IU-222.4345.14 运行时版本:17.0.4.1+7-b469.62 aarch64

它解决了我的问题。

至于intelliJ 2021.2.3版(终极版),我把“spring bean组件中不正确的注入点自动装配”改为警告,这对我来说很有用