使用@Autowired注解有错误提示的解决

作者:tiegenZ 时间:2023-11-09 20:44:57 

使用@Autowired注解有错误提示

使用Spring boot +mybatis框架时,在service实现类中使用Mapper类,给Mapper类添加@Autowired注解时发现

有错误提示:could not autowire,no beans of "XXX" type found

但程序的编译和运行都正常。

处理方式

方案一:@Autowired(required = false) 设置required 属性值为 false,错误消失

方案二:用@Resource注解替换@Autowired注解,错误消失

@Resource注解与@Autowired注解的异同点

这两个注解都是用作bean的注入时使用,都是为一个对象变量省去写get,set方法,自动为这个对象注入实例化对象(即注入依赖)注入的方式还是有所区别的 :

  • @Autowired是基于spring的注解org.springframework.beans.factory.annotation.Autowired,它默认是按类型进行的装配的,如果想要它按名字进行装配则需在@autowired下面添加@qualifier("name")`注解,都无法找到唯一的一个实现类的时候报错。@Autowired注解默认情况下必须要求依赖对象必须存在,如果要允许null值,则应该设置它的required属性为false,

  • @Resource是基于j2ee的注解(可以减少了与spring的耦合),(JDK1.6以上支持)默认是按名字进行注解,若不指定装配bean的名字,当注解写在字段上时,默认取字段名,按照名称查找通过set方法进行装配,倘若有多个子类,则会报错。需要注意的是name属性一旦指定,就只会按照名称进行装配

Spring的@Autowired注解报错改为警告

使用@Autowired注解在idea里会有error提示,不影响程序正常运行,据我观察身边同事们大多也是选择无视这个error,但一条红线放在这看着确实难受。后来得知可以把这里的error改为warning,并且不会干扰其他代码。

使用@Autowired注解有错误提示的解决

打开idea的settings,找到如下图所示位置,修改自动注入时的error错误为warning警告。

使用@Autowired注解有错误提示的解决

成功修改后就不会有烦人的红色下划线了(变成了黄色的),不建议随意修改这些检测,除非你确实很了解它。

使用@Autowired注解有错误提示的解决

来源:https://tiegen.blog.csdn.net/article/details/81010008

标签:@Autowired,注解
0
投稿

猜你喜欢

  • Spring事件Application Event原理详解

    2021-10-03 19:43:45
  • java中字符串转整数及MyAtoi方法的实现

    2023-09-23 20:54:19
  • spring boot与ktor整合的实现方法

    2022-01-18 04:20:19
  • Mybatis结果生成键值对的实例代码

    2023-11-28 15:50:58
  • C/C++常用函数易错点分析

    2021-11-13 23:21:30
  • 使用java + selenium + OpenCV破解腾讯防水墙滑动验证码功能

    2023-07-23 14:32:47
  • Flutter 如何封装文本输入框组件

    2023-09-27 02:54:51
  • Java通过匿名类来实现回调函数实例总结

    2023-06-26 12:30:42
  • java实现学生信息管理系统

    2023-11-11 08:22:35
  • java mybatis如何操作postgresql array数组类型

    2023-04-25 22:59:37
  • Java基础篇之反射机制示例详解

    2021-12-08 04:05:25
  • C#实现简易计算器

    2021-12-10 03:33:26
  • androidQ sd卡权限使用详解

    2021-09-27 17:38:51
  • C#通过html调用WinForm的方法

    2022-02-26 03:53:16
  • Java比较问题详细分析

    2023-11-20 14:30:48
  • 详解Java的文件与目录管理以及输入输出相关操作

    2022-05-03 15:07:22
  • java身份证验证代码实现

    2023-12-09 16:10:50
  • Android之线程池ThreadPoolExecutor的简介

    2021-06-27 02:41:25
  • mybatis如何使用Criteria的and和or进行联合查询

    2023-02-23 00:44:13
  • android开机自启动app示例分享

    2023-02-20 18:04:29
  • asp之家 软件编程 m.aspxhome.com