我已经创建了一个简单的单元测试,但是IntelliJ错误地将它突出显示为红色。将其标记为错误
没有豆子?
如你所见,它通过了测试?所以它一定是自动连接的?
我已经创建了一个简单的单元测试,但是IntelliJ错误地将它突出显示为红色。将其标记为错误
没有豆子?
如你所见,它通过了测试?所以它一定是自动连接的?
当前回答
有时——就我而言——原因是一个错误的输入。我不小心导入了
import org.jvnet.hk2.annotations.Service
而不是
import org.springframework.stereotype.Service
盲目地接受Idea建议的导入中的第一个选择。第一次发生的时候我花了几分钟:-)
其他回答
我有同样的问题,并解决了它使用“Invalidate Caches…”在文件菜单下。
在我的情况下,我的类文件夹在错误的地址,所以检查你的类是否在正确的包中。
在存储库类上添加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
@Autowired(required = false) 能让intellij闭嘴吗
最后一个重要的信息——添加ComponentScan,这样应用程序就知道它需要连接的东西。这与这个问题无关。但是,如果根本没有执行@autowiring,那么这可能是您的解决方案。
@Configuration
@ComponentScan(basePackages = {
"some_package",
})
public class someService {