标签:Mapper false Intellij Autowired required userMapper IDEA 注解
问题描述:
首先说明自己出现上述原因是因为在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;
总结:后两种方法也可以解决上面的问题,但是如果项目中有大量的地方需要改动,会相当麻烦,所以推荐开始的那种方法.
标签:Mapper,false,Intellij,Autowired,required,userMapper,IDEA,注解 来源: https://www.cnblogs.com/lkylin/p/13124415.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。