1. 程式人生 > >spring-boot bean 不被發現,解決方案簡述

spring-boot bean 不被發現,解決方案簡述

搭建完spring boot的demo後自然要實現自動注入來體現spring ioc的便利了,但是我在實施過程中出現了這麼一個問題,見下面,這裡找到解決辦法記錄下來,供遇到同樣的問題的同僚參考
Description:

Field helloService in com.osc.servicerepay.BorrowController required a bean of type ‘com.osc.servicerepay.repayplan.RepayPlanService’ that could not be found.
這裡寫圖片描述

Action:

Consider defining a bean of type ‘com.osc.servicerepay.repayplan.RepayPlanService’ in your configuration.
  根據英文的提示是在配置中找不到一個指定自動注入型別的bean,經過多方排查得出結論:
  正常情況下加上@Component註解的類會自動被Spring掃描到生成Bean註冊到spring容器中,既然他說沒找到,也就是該註解被沒有被spring識別,問題的核心關鍵就在application類的註解SpringBootApplication上
  這個註解其實相當於下面這一堆註解的效果,其中一個註解就是@Component,在預設情況下只能掃描與控制器在同一個包下以及其子包下的@Component註解,以及能將指定註解的類自動註冊為Bean的@

[email protected]和@ Repository,至此明白問題所在,之前我將介面與對應實現類放在了與控制器所在包的同一級目錄下,這樣的註解自然是無法被識別的
  
  至此,得出兩種解決辦法:
  1 .將介面與對應的實現類放在與application啟動類的同一個目錄或者他的子目錄下,這樣註解可以被掃描到,這是最省事的辦法
  2 .在指定的application類上加上這麼一行註解,手動指定application類要掃描哪些包下的註解,見下圖
  這裡寫圖片描述
  
  通過這兩種方式,那個找不到指定Bean的錯誤就成功解決了
  控制器Controller也要放在與application同級或者子目錄下,道理大致一樣

相關推薦

spring-boot bean 發現解決方案簡述

搭建完spring boot的demo後自然要實現自動注入來體現spring ioc的便利了,但是我在實施過程中出現了這麼一個問題,見下面,這裡找到解決辦法記錄下來,供遇到同樣的問題的同僚參考 Description: Field helloService

配置監聽--當該類實現ServletContextListener會導致spring的@resource能用解決方法

這個時候需要我們 以靜態變數儲存Spring ApplicationContext, 可在任何程式碼任何地方任何時候中取出ApplicaitonContext. 新增該類:程式碼如下 package com.beauty.common; import or

保證ServiceKill的解決方案

req som .html ppp 真機測試 其中 清理工具 reat 清理 1、Service設置成START_STICKY(onStartCommand方法中),kill 後會被重啟(等待5秒左右),重傳Intent,保持與重啟前一樣 2、通過 startForegro

Spring Boot 配置swagger2沒有文檔解決方案

post and request oot quest swagger date sele ota @Bean public Docket customImplementation(){ return new Docket(Documentation

Safari瀏覽器對設定的高度起作用解決方案

發現 文字 one 底部對齊 設定 pan select標簽 pro prop 1、在做瀏覽器兼容的時候,發現select標簽在safari蘋果瀏覽器中的高度永遠都是默認的,這時候解決的辦法是加上line-height屬性就可以設置;2、但加上line-height屬性可以

Spring boot(七):Spring boot+ mybatis 多資料來源最簡解決方案

多資料來源一般解決哪些問題?主從模式或者業務比較複雜需要連線不同的分庫來支援業務。 直接上程式碼。 配置檔案 pom包依賴,該依賴的依賴。主要是資料庫這邊的配置: mybatis.config-locations=classpath:mybatis/mybati

Vue專案部署在Spring Boot出現頁面空白問題的解決方案

網上流行的解決方案是將assetsPublicPath: ‘/‘改成’./’,下面說一下這個解決方案的弊端: 通常頁面空白的問題出現大多數是由於Spring Boot端配置了server.servlet.context-path,上下文改變了css, js等檔案的訪問路徑,檔案無法載入導

迴圈新增資料覆蓋解決方案

當你要返回前臺資料列表的時候,後臺定義了一個VO類。 然後查詢資料做迴圈新增時,一定注意:把VO類放到迴圈裡面賦值那樣就不會出現覆蓋值了; 舉例,假如StudentVO類時返回資料列表的, List<StudentVO> sto = new ArrayLis

【C】windows在**.exe中觸發了一個斷點其原因可能是堆損壞解決方案C記憶體申請釋放真TM麻煩還是python好

寫程式過程中遇到malloc申請記憶體時出現錯誤,錯誤如下: 0x77C1E8FB (ntdll.dll) (Graph.exe 中)處有未經處理的異常: 0xC0000374: 堆已損壞。 (引數: 0x77C54270)        程式除錯過程中,在第一個

Android中Fragment中onActivityResult呼叫的解決方案

    android開發中,Fragment+ViewPager已經很常見了。其實遇到這個問題,其實挺尷尬的,我相信有很多小夥伴都遇到這個問題。我也在網上找了很多資料,說什麼是android原生的問題,程式設計師偷懶了,沒有處理這個事件分發等。 指錢看過這位仁兄的文章,

【hssdw25172008的專欄】工作以後,發現平時總要解決很多經典的問題對於解決的方法知道儲存在哪兒好;經常瀏覽別人的部落格感覺很好如果自己可以通過寫博既保證了學到了知識不被忘卻還能與更多的朋友交流學習!因此決定寫博

工作以後,發現平時總要解決很多經典的問題,對於解決的方法,總不知道儲存在哪兒好;經常瀏覽別人的部落格,感覺很好,如果自己可以通過寫博,既保證了學到了知識不被忘卻,還能與更多的朋友交流學習!因此,決定寫博...

spring boot 打包可以運行但是執行main方法能運行

配置 embed files 可能 active set *** rest epo 報錯信息如下 2017-10-23 15:16:09.750 ERROR 7664 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisR

spring-boot不同包結構下同名類衝突導致服務啟動失敗解決方案

專案背景:   兩個專案的包結構和類名都很多相同,於是開始考慮使用加一級包進行隔離,類似於這種結構 但是在啟動的過程中,丟擲來這樣的異常: 1 2 3 4 5 6 7 8 9 Caused by: org.springframework.

【坑】關於使用 maven 建立 web 專案以後el 表示式識別的解決方法

問題描述: 在學習 Ajax 的時候,使用資源路徑,博主本著不要硬編碼,局使用 el 表示式進行讀取專案名,然後發現 el 表示式沒有被識別,而是當做字串 ${pageContext.request.contextPath} 直接輸出了,很是鬱悶啊; 突然想起來沒加 jar

Spring Boot 2.0正式釋出升還是升呢?

Spring帝國Spring幾乎是每一位Java開發人員都耳熟能詳的開發框架,不論您是一名初出茅

阿里P9告訴你 Spring Boot 2.0正式釋出升還是升呢?

Spring帝國Spring幾乎是每一位Java開發人員都耳熟能詳的開發框架,不論您是一名初出茅廬的程式設計師還是經驗豐富的老司機,都會對其有一定的瞭解或使用經驗。在現代企業級應用架構中,Spring技術棧幾乎成為了Java語言的代名詞,那麼Spring為什麼能夠在眾多開源框

spring boot jar 程序自動停止自動終止能後臺持續執行

第一次部署spring boot 到linux上,用命令java -jar **.jar,發現應用自動退出,程序停止了。後來發現要不掛斷的執行命令,忽略所有的結束通話訊號,用以下命令解決 nohup java -jar **.jar& nohup: 不掛斷的執行命令,忽略所有

spring bootbean

搭建springboot+jpa時,由於對自動掃描配置不熟悉,搭建的包結構如下,且沒有配置掃描包,導致找不到註解的各種bean 官方建議的結構如下,Spring Boot預設會掃描啟動類同包以及子包下的註解 或則通過寫基礎包的配置,那麼如何進行改變這種掃描包的

spring boot專案啟動報錯到XXX類

不是很懂csdn如何提問,所以先記錄下來,也希望知道解決方案的能給點提示。問題描述:    新建一個spring boot工程,並且有如下專案:    專案一:cust-service,有啟動類CustApplication、有依賴一個base服務(base沒有applica

spring boot啟動掃描建立bean怎麼回事

說明你的spring boot啟動時的application類不在io.github.gefangshuai.app及其子包下。 SpringBoot專案的Bean裝配預設規則是根據Application類所在的包位置從上往下掃描的。“Application類”是指Spri