解决Intellij IDEA中Mybatis Mapper自动注入警告

Posted 手下留情

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决Intellij IDEA中Mybatis Mapper自动注入警告相关的知识,希望对你有一定的参考价值。

问题描述:

 

 

首先说明自己出现上述原因是因为在mapper接口上方用的是@mapper标签,如果用@Repository标签替换可以解决这个问题

 

(idea可以理解Spring的上下文。然而 UserMapper 这个接口是Mybatis的,IDEA理解不了。 而 @Autowired 注解,默认情况下要求依赖对象(也就是 userMapper )必须存在。而IDEA认为这个对象的实例/代理是个null,所以就友好地给个提示。)

 

然后在网上还看到了其他的方法,但是并不实用:

 

方法2:

@Autowired 注解设置required = false

使用 @Autowired 注解时,若希望允许null值,可设置required = false,像这样:

1 @Autowired(required = false)
2 private UserMapper userMapper;

这样就不会有警告了。原因很好理解:IDEA认为userMapper是个null,给了警告;加上required = false后,使用 @Autowired 注解不再去校验userMapper是否存在了。也就不会有警告了。

 

方法3:

@Resource 替换 @Autowired

像这样:

1 @Resource
2 private UserMapper userMapper;

 

总结:后两种方法也可以解决上面的问题,但是如果项目中有大量的地方需要改动,会相当麻烦,所以推荐开始的那种方法.

 

以上是关于解决Intellij IDEA中Mybatis Mapper自动注入警告的主要内容,如果未能解决你的问题,请参考以下文章

Intellij IDEA中Mybatis Mapper自动注入警告的6种解决方案

使用intellij idea搭建MAVEN+SSM(Spring+SpringMVC+MyBatis)框架

Intellij16创建Spring-Mybatis项目创(填)建(坑)记录,解决IDEA下找不到xml文件的问题

idea设置去掉IntelliJ IDEA 中 mybatis 对应的 xml 文件警告

Idea2016.1 intellij(idea)中mybatis对应的xml背景颜色

IntelliJ-IDEA中mybatis三剑客