解決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;

 

總結:后兩種方法也可以解決上面的問題,但是如果項目中有大量的地方需要改動,會相當麻煩,所以推薦開始的那種方法.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM