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

没有豆子?

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


当前回答

您是否检查过在服务实现之上使用了@Service注释? 这对我很管用。

import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl implements UserServices {}

其他回答

我也遇到过这个问题,并通过删除Spring Facet来解决它:

File ->项目结构 选择方面 拆卸弹簧

好运!

这是另一种“不能自动装配”。No Beans of…”可以通过安装插件来解决,在我的案例中是Spring Batch中的JobBuilderFactory。

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

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

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

或者选择Eclipse:)

在使用@SpringBootApplication注释创建SpringBoot应用程序时,我也遇到了同样的问题。该注释根据spring引用表示@Configuration、@EnableAutoConfiguration和@ComponentScan。

正如预期的那样,新的注释工作正常,我的应用程序运行顺利,但Intellij一直抱怨未实现的@Autowire依赖项。当我重新分别使用@Configuration、@EnableAutoConfiguration和@ComponentScan时,错误就停止了。Intellij 14.0.3(很可能是更早的版本)似乎还没有配置为识别@SpringBootApplication注释。

现在,如果错误对您的影响如此之大,那么就恢复到那三个单独的注释。否则,忽略Intellij…您的依赖项解析配置正确,因为您的测试通过了。

永远记得……

人永远比机器伟大。

我使用的是spring-boot 2.0和intellij 2018.1.1终极版,我也遇到了同样的问题。

我通过在主应用程序类中放置@EnableAutoConfiguration来解决这个问题

@SpringBootApplication
@EnableAutoConfiguration
class App{
/**/
}