在spring系列集成mybatis时,我们经常遇到这样的问题:
明明注入没有问题,但是intellij idea会报红。
这是因为我们没有手动在代码里把mapper接口注入spring容器中,而@Autowired
注入方式默认要求注入的对象必须是在spring容器中存在的。
所以idea认为这里的userMapper不存在,而用户(我们)选择注入,是一种错误操作,就报红。
那么怎么解决这个问题呢?
以下提供几种相对比较优雅的方式:(越靠前的笔者越推荐,不过纯属个人建议)
Solution 1
使用@Resource
来替代@Autowired
。
@Resource
和@Autowired
有什么区别?传送门:(之后补上)