could not autowire.No beans of 'FunctionService' type found.

could not autowire. No beans of ‘FunctionService’ type found.checks autowiring probleam in a been class

出现这种错误的可能性,目前我遇到的有两种可能性:
1. 没有把类注入为bean导致。即没有用注解@bean/@Named/@Service/@Component注入…
2. 如果第一种可能性不存在,那么设置IDEA,如下图详述

分析第一种could not autowire的情况

could not autowire.No beans of 'FunctionService' type found._第1张图片

出现这种错误是由于没有注入FunctionService 这个bean到spring的容器中。在spring容器中,只要容器中存在某个bean,就可以在另外一个bean的声明方法的参数中注入。

解决以上错误方法:
把functionService ()方法的注解@bean打开,使之注入为一个bean

    @Bean
    public FunctionService functionService (){
        return new FunctionService();
    }

分析第二种could not autowire的情况

程序的编译和运行都是没有问题的,这个错误提示并不会产生影响。但红色的错误提示在有些有强迫症的程序员眼里,多多少少有些不太舒服。如图:
could not autowire.No beans of 'FunctionService' type found._第2张图片

解决方案:修改idea配置,将spring的severity的值设置为”warning”, 降低Autowired检测的级别,将Severity的级别由之前的error改成warning或其它可以忽略的级别。如下
could not autowire.No beans of 'FunctionService' type found._第3张图片

或者:
could not autowire.No beans of 'FunctionService' type found._第4张图片

你可能感兴趣的:(spring)