何時出現
在springboot結合mybatis時,標記mapper類的方法有兩種,一種是直接在mapper類上加@Mapper注解(屬於ibatis包),一種是在spring的主啟動類上加上@MapperScan注解。但是這兩種方法都是mybatis的方法,因此並不會被識別為容器中的bean。
我們使用@Autowired在Service類中進行進行自動注入時,mapper類就會報錯。但是其實這並不妨礙程序的正確運行。原因可能是因為idea的bean識別只針對spring。(其實我也不知道)
解決方案
-
沒有強迫症的同學可以直接選擇不管
-
使用spring的@Repository注解(實現dao的訪問)將其注入到容器或@Component(泛指各種組件)