歡迎您光臨本站 註冊首頁

解決SpringBoot整合Mybatis掃描不到Mapper的問題

←手機掃碼閱讀     火星人 @ 2020-04-29 , reply:0

閒來無事,想學學springboot,開始搭建一個項目,但是一直顯示mapper掃描不到的錯誤:

“Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘userController': Unsatisfied dependency expressed through field ‘userMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘com.minibike.bike.user.dao.UserMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}” “Field userMapper in com.minibike.bike.user.controller.UserController required a bean of type ‘com.minibike.bike.user.dao.UserMapper' that could not be found.”



於是在網上找解決方案,都是治標不治本,不得不說現在的博客質量下降的厲害,太誤導人了,打開好多個都是一樣的內容,難道沒人遇到的錯誤一樣,連包名和類名也一樣嗎?有的人抄別人博客,類名和包名都懶得換一下?

最後解決方案是在Application.java主類上加註解@MapperScan(“com.minibike.bike.user.dao”)。括號中引號裡邊是mapper所在包路徑。

加上註解後不再報錯,也能正常輸出oooo

第一次接觸springboot,昨天下午到今早一直沒找到問題所在,後來查文檔、註解,然後不斷嘗試,最後終於解決。

當然這個只是我個人項目開發中遇到的問題解決辦法,不一定通用,但是如過遇到這樣的問題,也可以一試。

補充知識:springboot 項目配置掃描mapper接口類的兩種方法

一種是在啟動類上加@MapperScan({"com.**.dao","com.**.dao.*"}) 掃描mapper接口文件所在的包,多個包的時候用英文半角逗號隔開;

一種是在mapper接口文件上加@Mapper註解。如下

import org.apache.ibatis.annotations.Mapper;


[火星人 ] 解決SpringBoot整合Mybatis掃描不到Mapper的問題已經有259次圍觀

http://coctec.com/docs/java/show-post-232177.html