首页 > 技术文章 > Could not autowire. No beans of 'LoadBalancerClient' type found

zhuzhenxi-123 2021-01-30 18:36 原文

1.问题描述

在Idea的spring工程里,经常会遇到Could not autowire. No beans of 'xxxx' type found的错误提示。

 

 2.原因

        原因可能有两个,第一个是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>

3.解决方案

(1)针对第一种原因,解决办法是:降低Autowired检测的级别,将Severity的级别由之前的error改成warning或其它可以忽略的级别。

 (2)在注解上加上

required = false

 

 

针对第二种原因,可能是导入的包导入错了,解决方案当然是导入正确的包。首先我们来看下最容易导入的错误包,如下所示:

import com.alibaba.dubbo.config.annotation.Service;
正确的包应该是下面这个
import org.springframework.stereotype.Service;

以上就是这个问题的解决方案,记得下次不要犯这样的错误了哟!

推荐阅读