我已经创建了一个简单的单元测试,但是IntelliJ错误地将它突出显示为红色。将其标记为错误
没有豆子?
如你所见,它通过了测试?所以它一定是自动连接的?
我已经创建了一个简单的单元测试,但是IntelliJ错误地将它突出显示为红色。将其标记为错误
没有豆子?
如你所见,它通过了测试?所以它一定是自动连接的?
当前回答
如果你不想对你的代码做任何改变,只是为了让你的IDE满意。我通过将所有组件添加到Spring facet解决了这个问题。
创建一个名为“服务,处理器和路由器”的组或任何你喜欢的名称; 删除并重新创建“Spring Application Context”,使用之前创建的组作为父组。
其他回答
在bean配置文件中放置@Component或@configuration似乎可以工作,例如:
@Configuration
public class MyApplicationContext {
@Bean
public DirectoryScanner scanner() {
return new WatchServiceDirectoryScanner("/tmp/myDir");
}
}
@Component
public class MyApplicationContext {
@Bean
public DirectoryScanner scanner() {
return new WatchServiceDirectoryScanner("/tmp/myDir");
}
}
如果你不想对你的代码做任何改变,只是为了让你的IDE满意。我通过将所有组件添加到Spring facet解决了这个问题。
创建一个名为“服务,处理器和路由器”的组或任何你喜欢的名称; 删除并重新创建“Spring Application Context”,使用之前创建的组作为父组。
这是另一种“不能自动装配”。No Beans of…”可以通过安装插件来解决,在我的案例中是Spring Batch中的JobBuilderFactory。
你需要做的就是添加
AppConfiguration.java中的@ComponentScan("package/include/your/annotation/component")
因为我认为你的AppConfiguraion.java的包比你的注释组件(@Service, @Component…)的包更深,
比如“package/include/your/annotation/component/deep /config”。
检查您是否在服务类中遗漏了@Service注释,我就是这种情况。