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

没有豆子?

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


当前回答

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

其他回答

在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");
    }
}

最后一个重要的信息——添加ComponentScan,这样应用程序就知道它需要连接的东西。这与这个问题无关。但是,如果根本没有执行@autowiring,那么这可能是您的解决方案。

@Configuration
@ComponentScan(basePackages = {
    "some_package",
})
public class someService {

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

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

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

在我的情况下,我试图@Autowired的目录不在同一级别,

将其设置在同一结构层后,错误消失了

希望对大家有所帮助!

在我的情况下,我的类文件夹在错误的地址,所以检查你的类是否在正确的包中。