溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎樣解決Springboot測試類沒有bean注入問題

發(fā)布時間:2021-10-13 11:32:12 來源:億速云 閱讀:257 作者:柒染 欄目:編程語言

這篇文章給大家介紹怎樣解決Springboot測試類沒有bean注入問題,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

其他亂七八糟配置就不扯了,先上項目結(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)查看的問題越來越深,越來越偏離最開始的問題,那十有八九是方向偏了,重新整理一下,重新開始吧

關(guān)于怎樣解決Springboot測試類沒有bean注入問題就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI