栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

@Autowired注解爆红原因及解决方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

@Autowired注解爆红原因及解决方法

目录
  • @Autowired 爆红现象
  • @Autowired报错原因分析
    • @Autowired源码
  • 解决办法

@Autowired 爆红现象

@Autowired报错原因分析 @Autowired源码
public @interface Autowired {
    boolean required() default true;
}

这里说明@Autowired注解必须要注入一个非空的对象
我们看@Autowired注解的包,来自于:
而这个接口:

@Mapper
public interface UserMapper {
    //添加用户方法(注册功能)
    public int addUser(User user);

}

的包来自于:
所以报错原因可以归结如下:
@Autowired注解需要一个非空的对象,而@Autowired是Springframework的,但是它引入的对象是Mybatis的@Mapper注解,而idea不能很好地识别Mybatis的注解,所以idea不能确认当前要注入的对象是否为非NULL对象。

解决办法
  1. 使用@Resource注解,这是一个java注解


2. 在idea的setting里把Autowired中error关了

  1. 在mapper层添加上一个Springframework的注解,比如@Repository注解
@Mapper
@Repository
public interface UserMapper {
    //添加用户方法(注册功能)
    public int addUser(User user);

}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659345.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号