zoukankan      html  css  js  c++  java
  • 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的错误提示。但程序的编译和运行都是没有问题的,这个错误提示并不会产生影响。但红色的错误提示在有些有强迫症的程序员眼里,多多少少有些不太舒服。

       

    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. 解决方案

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

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

    import com.alibaba.dubbo.config.annotation.Service;

    正确的包应该是下面这个

    import org.springframework.stereotype.Service;

    切记切记啊!!!!

  • 相关阅读:
    canvas-color的几种设置
    canvas-2lineCap.html
    canvas-2lineJoin.html
    canvas-0trasform.html
    总体、个体和简单随机样本
    大数定律
    切比雪夫不等式
    B1032. 挖掘机技术哪家强
    Array(数组)对象-->join() 方法
    Array(数组)对象-->shift() 方法
  • 原文地址:https://www.cnblogs.com/daguozb/p/12165879.html
Copyright © 2011-2022 走看看