zoukankan      html  css  js  c++  java
  • 解决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;

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

  • 相关阅读:
    QPushButton设置背景图片,设置背景透明度
    QMessageBox 弹窗提示总结
    Qt中 QObject * sender() const的用法
    Java获取文件后缀
    Qt QLabel设置背景色
    Qt 设置程序图标
    程序猿 tensorflow 入门开发及人工智能实战
    Github + Hexo 搭建博客
    Linux常用命令
    深度学习路线记录
  • 原文地址:https://www.cnblogs.com/lkylin/p/13124415.html
Copyright © 2011-2022 走看看