Idea工具中使用Mapper对象有红线的解决方法

目录
  • 背景:
  • 问题描述
  • 原因分析:
  • 解决方案
    • 1、修改idea 配置
  • 参考链接:

背景:

IDEA开发工具,springboot +mybatis项目

(这个是不需要改的,也不算是问题,因为项目并不会报错,只是作者好奇找了下问题,并记录一下)

问题描述

mapper对象在service层有红线,项目可以正常使用,想知道为什么会出现这种情

原因分析:

@Autowired 默认是要求注解对象不为空

@Autowired 默认是要求注解对象不为空,IDEA在自动检测时认为mapper的实例是null,所以飘红提醒一下。实际使用@MapperScan,是在项目启动时才会去扫描mapper文件,并生成代理类,所以项目运行也不会报错。

这里想到@Service注解,在controller层中使用的时候就没有报红,是因为含有@Component,

@Component作用就是把注解的类实例化到spring容器中。

解决方案

这里提供4中解决方式

1、修改idea 配置

下图是通过点击标红的提示进入的,也可以从菜单上进入:file -> settings-> editor->inspections->autowiring for bean class 取消勾选,关闭 autowiring 校验。

2、@Autowired 修改为 @Autowired(required = false)

3、@Autowired 修改为 @Resource

@Resource 不校验是否为空

4、mapper 类上添加 @Repository 或者 @Component 或者lombok 中的@RequiredArgsConstructor

本质是加了 @Component 注册到项目中,满足IDEA的检验

参考链接:

idea 注入mapper报错报红的几种解决方案

IDEA中mapper注入报红的问题(springboot

到此这篇关于Idea工具中使用Mapper对象有红线的文章就介绍到这了,更多相关idea 使用mapper红线内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • IDEA 插件 mapper和xml互相跳转操作

    安装Free Mybatis plugin即可 安装MyBatisCodeHelper插件(推荐) 补充:IDEA插件(mybatis框架下mapper接口快速跳转对应xml文件) Flie(文件)->setting(设置)->Plugins->Marketplace 然后搜索 Free Mybatis Plugin下载 以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们.如有错误或未考虑完全的地方,望不吝赐教.

  • IDEA中没有Mapper.xml模板选项的处理方法

    🎃New的时候没有Mapper.xml选项 在IDEA中导入模板即可 模板类容,复制粘贴即可 <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace=""> </mapper> 再New的时候就会有MybatisMapper选项了 到此这篇关于IDEA中没有Mapper.xml模板的文章就介绍到这了,更多相关idea Mapper.xml模板内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

  • IDEA MyBatis Plugins自动生成实体类和mapper.xml

    前言 如何下载和使用MyBatis Generator 插件,只说代码,不讲感情.如果有问题还请多多指点. 开发环境 开发工具:IntelliJ IDEA 2018.1.1 x64 dk版本:1.8.0_171 工程构建工具:maven 版本3.2.5 数据库 mysql IDEA 下载MyBatis Generator 插件 1.首先在File--Settings--点击Plugins,搜索框中搜索mybatis,选择mybatis-plugins,点击安装(由于我的已经安装过,所以没有绿色的

  • 解决idea 从mapper方法直接点进xml文件的问题

    使用Free Mybatis plugin 1. 2. 3. 4.重启以后mapper方法会有个箭头,ctrl+alt+左键 可以进入到xml文件里. xml文件里可以通过ctrl+左键进入到mapper文件里 补充:idea编译时找不到mapper.xml文件 idea默认是不编译 src\main\java下的xml文件的,所以造成classes目录下没有xml文件,有两个解决方案: 1. 在src\mian\resources下创建一个文件夹存放mapper文件. 2.在pom.xml下加

  • 解决Mybatis在IDEA中找不到mapper映射文件的问题

    刚开始在IDEA中做用Mybatis查数据库中的数据时,报mapper映射文件找不到,害的我检查了好几次配置的路径是不是正确,但是看了好几遍都没有发现有拼写错误.(我记得以前在eclipse中这样写是没问题的) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" &qu

  • IDEA 项目创建Mapper的xml文件的方法

    为了方便创建mapper的xml文件,所以可以自定义一个模板文件,以后用起来很方便. 1.打开设置 2.搜索 File and Code Templates,进行如下操作 模板代码附上 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.o

  • Idea工具中使用Mapper对象有红线的解决方法

    目录 背景: 问题描述 原因分析: 解决方案 1.修改idea 配置 参考链接: 背景: IDEA开发工具,springboot +mybatis项目 (这个是不需要改的,也不算是问题,因为项目并不会报错,只是作者好奇找了下问题,并记录一下) 问题描述 mapper对象在service层有红线,项目可以正常使用,想知道为什么会出现这种情 原因分析: @Autowired 默认是要求注解对象不为空 @Autowired 默认是要求注解对象不为空,IDEA在自动检测时认为mapper的实例是null

  • SQL server中提示对象名无效的解决方法

    产生SQL对象名无效的问题大多原因是由于数据迁移导致的,下面我们给出解决方法. 在使用数据库的过程中,经常会遇到数据库迁移或者数据迁移的问题,或者有突然的数据库损坏,这时需要从数据库的备份中直接恢复.但是,此时会出现问题,这里说明几种常见问题的解决方法. 一.孤立用户的问题 比如,以前的数据库的很多表是用户test建立的,但是当我们恢复数据库后,test用户此时就成了孤立用户,没有与之对应的登陆用户名,哪怕你建立了一个test登录用户名,而且是以前的用户密码,用该用户登录后同样没办法操作以前属于

  • Java从数据库中读取Blob对象图片并显示的方法

    本文实例讲述了Java从数据库中读取Blob对象图片并显示的方法.分享给大家供大家参考.具体实现方法如下: 第一种方法: 大致方法就是,从数据库中读出Blob的流来,写到页面中去: 复制代码 代码如下: Connection conn = DBManager.getConnection();   String sql = "SELECT picture FROM teacher WHERE id=1";   PreparedStatement ps = null;   ResultSe

  • angular4中*ngFor不能对返回来的对象进行循环的解决方法

    解决方法:可以循环返回的对象,得到对象里每一个key所对应的值,然后把值放到自己定义的一个数组中. 例如: tipAttr: any = []; $.each(response.ipCustomer.tip, function(key, val) { console.log(val); self.tipAttr.push(val); return self.tipAttr; }); 以上这篇angular4中*ngFor不能对返回来的对象进行循环的解决方法就是小编分享给大家的全部内容了,希望能给

  • 详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据

    pandas的DataFrame对象,本质上是二维矩阵,跟常规二维矩阵的差别在于前者额外指定了每一行和每一列的名称.这样内部数据抽取既可以用"行列名称(对应.loc[]方法)",也可以用"矩阵下标(对应.iloc[]方法)"两种方式进行. 下面具体说明: (以下程序均在Jupyter notebook中进行,部分语句的print()函数省略) 首先生成一个DataFrame对象: import pandas as pd score = [[34,67,87],[68

  • springboot中不能获取post请求参数的解决方法

    问题描述 最近在做微信小程序,用的spring boot做后端,突然发现客户端发送post请求的时候服务端接收不到参数.问题简化之后如下: 微信小程序端: 在页面放一个按钮进行测试 <!--index.wxml--> <view class="container"> <button catchtap='testpost'>点击进行测试</button> </view> 绑定一个函数发送post请求 //index.js //获

  • 教你用MAT工具分析Java堆内存泄漏问题的解决方法

    一.MAT概述与安装 MAT,全称Memory Analysis Tools,是一款分析Java堆内存的工具,可以快速定位到堆内泄漏问题.该工具提供了两种使用方式,一种是插件版,可以安装到Eclipse使用,另一种是独立版,可以直接解压使用. 我把独立版MAT安装包放到了网盘上,方便直接下载 链接: https://pan.baidu.com/s/1DVHlHuSfi_4TVl2ei5YuLA 提取码: 42qt 独立版解压后,其内部文件是这样的-- 这里有一个MemoryAnalyzer.in

  • Golang中 import cycle not allowed 问题的解决方法

    目录 1.问题现象 2.问题分析 3.解决问题思路 4.如何破除依赖 5.问题回顾 1.问题现象 go编译的时候报错import cycle not allowed cycle意思很简单就是循环的意思.代表的就是一个包被循环的导入. 2.问题分析 这个错是在container_cloud/pkg/service这里出现的,说明这个包被循环导入. 可是service这个包文件太多怎么检查呢? 可以看到这个service包下面的文件特别多. 3.解决问题思路 虽然文件很多,但是看自己最近修改过的文件

  • 浅谈pandas中DataFrame关于显示值省略的解决方法

    python的pandas库是一个非常好的工具,里面的DataFrame更是常用且好用,最近是越用越觉得设计的漂亮,pandas的很多细节设计的都非常好,有待使用过程中发掘. 好了,发完感慨,说一下最近DataFrame遇到的一个细节: 在使用DataFrame中有时候会遇到表格中的value显示不完全,像下面这样: In: import pandas as pd longString = u'''真正的科学家应当是个幻想家:谁不是幻想家,谁就只能把自己称为实践家.人生的磨难是很多的, 所以我们

  • idea中使用Inputstream流导致中文乱码解决方法

    1.问题描述 idea中使用Inputstream流导致中文乱码解决方法,当然也不一定就是输入流,可能输出流或者其他用到了流相关的字符的都可能出现乱码,这里有一个可能的解决办法. 2. 解决办法 ① idea中找到下面的路径 File--Settings--Editor--File Encodings ② Transparent native-to-ascii conversion把这个前面勾上,重新创建文件,执行就OK 很多朋友遇到Java FileInputStream读中文乱码问题,下面小

随机推荐