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;

    切记切记啊!!!!

  • 相关阅读:
    个人软件过程 1
    一个月学会VC++2012 3.我们动手吧!
    一个月掌握VC++2010?
    个人软件过程2 项目开发的基本流程
    个人软件过程4 功能说明和用户体验设计
    一个月学会VC++2010 5.对话框的数据交换
    个人软件过程3 需求分析
    一个月学会VC++2010 4.细说对象之香艳旖旎
    一个月学会VC++2010 1.送上门的银子
    一个月学会VC++2010 2.看起来风险不大
  • 原文地址:https://www.cnblogs.com/daguozb/p/12165879.html
Copyright © 2011-2022 走看看