当前位置:网站首页>idea使用@Autowired注解爆红原因及解决方法
idea使用@Autowired注解爆红原因及解决方法
2022-08-04 05:36:00 【m0_67402588】
在使用idea的@Autowired注解注入Mapper文件时,有时会标红,但是不影响项目运行,那么是什么原因呢
原因
先看一下@Autowired源码:
@Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Autowired {
/**
* Declares whether the annotated dependency is required.
* <p>Defaults to {@code true}.
*/
boolean required() default true;
默认值为true说明@Autowired注解必须要注入一个非空的对象,@Autowired注解的包,来自于:
import org.springframework.beans.factory.annotation.Autowired;
@Mapper的包来自于:
import org.apache.ibatis.annotations.Mapper;
总结报错的原因:@Autowired注解需要一个非空的对象,而@Autowired是SpringFramework的,但是它引入的对象是Mybatis的@Mapper注解,而idea不能很好地识别Mybatis的注解,所以idea不能确认当前要注入的对象是否为非NULL对象。
引申:如果把@Autowired注解的默认值设为false也不会报错
解决方案
1).使用@Resource注解,这是一个java注解;
2).在idea的setting里把Autowired中error关了:
3).在mapper层添加上一个SpringFramework的注解,比如@Repository注解:
@Mapper
@Repository
public interface UserMapper {
}
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
bitnami/mongodb-sharded在AWS EKS扩展shard失败解决
Software: Recommend a domestic and very easy-to-use efficiency software uTools to everyone
Based on the EEMD + + MLR GRU helped time series prediction
Nacos 原理
JVM工具之 JPS
自适应迁移学习核极限学习机用于预测
目标检测中的IoU、GIoU、DIoU与CIoU
A semi-supervised Laplace skyhawk optimization depth nuclear extreme learning machine for classification
Microsoft computer butler 2.0 beta experience
什么是多态。
随机推荐
Uos统信系统 DISK(RAID+LVM)
JVM调优实践
Database Skills: Organize SQL Server's Very Practical Scripts
bitnami/mongodb-sharded在AWS EKS扩展shard失败解决
基于EEMD+GRU+MLR的时间序列预测
【C# - 方法封装】数据转换
matlab封闭曲线拟合 (针对一些列离散点)
什么是多态。
Visualization and Animation Technology (3D Visualization)
CMDB 腾讯云部分实现
叔本华的《人生的智慧》感悟
如何用matlab做高精度计算?【第二辑】
无监督特征对齐的迁移学习理论框架
数据库JDBC DAO层方法
元素的增删克隆以及利用增删来显示数据到页面上
升级到 MediaPlayer 11 时跳过验证副本的方法
Uos统信系统 IP地址以及完整主机名配置
mysql月份比較是否相等
2DCNN, 1DCNN, BP, SVM fault diagnosis and result visualization of matlab
SENet detailed explanation and Keras reproduction code