Springboot測試類沒有bean注入問題解析
這篇文章主要介紹了Springboot測試類沒有bean注入問題解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
其他亂七八糟配置就不扯了,先上項目結(jié)構(gòu)圖
配置好參數(shù)后我再src/test/java類測試訪問數(shù)據(jù)庫時發(fā)現(xiàn)bean沒有正確的注入。值得注意的是,這個項目的啟動類是叫App.java
所以我們必須在這個測試類上面加上注解:
@RunWith(SpringRunner.class) @SpringBootTest(classes = App.class)
注意:SpringBoot(classes = App.class) classes后面跟的是啟動類的class,千萬不要隨便抄網(wǎng)上的配置,寫一些Application.class之類的,這種Application之類的類名和一些官方包里的類名一樣,容易引入錯誤的包。
剛開始發(fā)現(xiàn)這個問題瘋狂去網(wǎng)上看別人的配置文件是怎么寫的,試了一天都沒用,后來靜下心來,把錯誤信息copy出來文本里仔細看
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'com.springboot.LibrarySystem.mapper.UserMapperTest': Unsatisfied dependency expressed through field 'userMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.sb.LibrarySystem.mapper.UserMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
還是從這個Test類下手
本來我的類是這樣的:
@RunWith(SpringRunner.class) @SpringBootTest(classes = Application.class) public class UserMapperTest { }
修改后就是這樣,和我的啟動類的類名是一致的:
@RunWith(SpringRunner.class) @SpringBootTest(classes = App.class) public class UserMapperTest {
完美解決!
如果百度的時候,發(fā)現(xiàn)查看的問題越來越深,越來越偏離最開始的問題,那十有八九是方向偏了,重新整理一下,重新開始吧
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java面向?qū)ο笤O(shè)計原則之里氏替換原則示例詳解
這篇文章主要為大家介紹了java面向?qū)ο笤O(shè)計原則之里氏替換原則示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2021-10-10springboot結(jié)合mysql主從來實現(xiàn)讀寫分離的方法示例
這篇文章主要介紹了springboot結(jié)合mysql主從來實現(xiàn)讀寫分離的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04Spring Boot JPA Repository之existsBy查詢方法失效的解決
這篇文章主要介紹了Spring Boot JPA Repository之existsBy查詢方法失效的解決方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06