温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-11-05 13:36:47 来源:亿速云 阅读:167 作者:iii 栏目:开发技术

本篇内容主要讲解“怎么解决使用@Autowired注解有错误提示”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决使用@Autowired注解有错误提示”吧!

    使用@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注解有错误提示

    到此,相信大家对“怎么解决使用@Autowired注解有错误提示”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI