Could not autowire. No beans of ‘xxx” type found(三种方法)
Posted daguozb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Could not autowire. No beans of ‘xxx” type found(三种方法)相关的知识,希望对你有一定的参考价值。
我当时提示错误是,不影响使用,可是就是报错让人不爽。
Could not autowire. No beans of ‘RequestMappingHandlerMapping‘ type found.
@Autowired private RequestMappingHandlerMapping requestMappingHandlerMapping;
后来改成@Resource注入,就不报错了,
@Resource
private RequestMappingHandlerMapping requestMappingHandlerMapping;
@ Autowired和@Resource区别一个是默认按照类型,一个默认按照名字;我小小的测试了下Autowired会拿着这个默认名称找类型,找不到就报错了。可是又能运行我就没深研究了。
这个要是自己写的实体,可以在实体上加对应的@Service("名称"),或者@Repository。
网上其他方法:
1.问题描述
在Idea的spring工程里,经常会遇到Could not autowire. No beans of ‘xxxx‘ type found的错误提示。但程序的编译和运行都是没有问题的,这个错误提示并不会产生影响。但红色的错误提示在有些有强迫症的程序员眼里,多多少少有些不太舒服。
原因可能有两个,第一个是IntellijIDEA本身工具的问题。第二个便是我们导入@Service包的时候导入包错误造成的
第一种原因,spring auto scan配置,在编辑情况下,无法找不到对应的bean,于是提示找不到对应bean的错误。常见于mybatis的mapper,如下:
<!-- mapper scanner configurer -->
<bean id="mapperScannerConfig" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.adu.spring_test.mybatis.dao"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
针对第一种原因,解决办法是:降低Autowired检测的级别,将Severity的级别由之前的error改成warning或其它可以忽略的级别。
针对第二种原因,解决方案当然是导入正确的包。首先我们来看下最容易导入的错误包,如下所示:
import com.alibaba.dubbo.config.annotation.Service;
正确的包应该是下面这个
import org.springframework.stereotype.Service;
切记切记啊!!!!
以上是关于Could not autowire. No beans of ‘xxx” type found(三种方法)的主要内容,如果未能解决你的问题,请参考以下文章
Java--使用@Autowired报错Could not autowire. No beans of ‘XX‘ type found.
分享知识-快乐自己:intellij Idea报错Could not autowire. No beans of...
Spring Batch 解决 Could not autowire. No beans of ‘StepBuilderFactory‘ type found.
Could not autowire. No beans of ‘xxx” type found(三种方法)
Could not autowire. No beans of 'TbItemMapper' type found. less... (Ctrl+F1) Checks autowir