intellij 错误地表示没有为自动连接的存储库找到任何类型的 bean

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

没有豆子?

enter image description here

正如您在下面看到的,它通过了测试?所以它必须是自动布线的吗?

enter image description here


答案 1

在使用他们的注释创建Spring Boot应用程序时,我遇到了同样的问题。这个注释表示,并根据弹簧引用@SpringBootApplication@Configuration@EnableAutoConfiguration@ComponentScan

正如预期的那样,新的注释工作正常,我的应用程序运行平稳,但是,Intellij一直抱怨依赖项未实现。一旦我改回使用,并单独使用,错误就停止了。Intellij 14.0.3(很可能还有早期版本)似乎尚未配置为识别注释。@Autowire@Configuration@EnableAutoConfiguration@ComponentScan@SpringBootApplication

现在,如果错误对您有那么大的干扰,请恢复到这三个单独的注释。否则,请忽略 Intellij...依赖项解析已正确配置,因为测试已通过。

永远记住...

人总是比机器更伟大。


答案 2

在存储库类上添加 Spring 注释。@Repository

我知道它应该在没有此注释的情况下工作。但是如果你添加这个,IntelliJ将不会显示错误。

@Repository
public interface YourRepository ...
...

如果将 Spring Data 与扩展类一起使用,它将是冲突包。然后,您必须直接指示包。Repository

import org.springframework.data.repository.Repository;
...

@org.springframework.stereotype.Repository
public interface YourRepository extends Repository<YourClass, Long> {
    ...
}

接下来,您可以自动连接存储库而不会出现错误。

@Autowired
YourRepository yourRepository;

这可能不是一个好的解决方案(我猜你正在尝试注册存储库两次)。但为我工作,不要显示错误。

也许在新版本的IntelliJ中可以修复:https://youtrack.jetbrains.com/issue/IDEA-137023


推荐