課程
/后端開發(fā)
/Java
/Spring入門篇
我檢查了下applicationContext.xml,里面的bean ID拼寫沒問題,在單元測試中的getBean拼寫也沒問題,為什么總是提示找不到?
2017-11-28
源自:Spring入門篇 2-2
正在回答
bean找不到除了你的名字拼寫錯誤,就是spring找不到你的配置。我之前運行也有錯誤,是因為老師的代碼在這一節(jié)講了兩個注解的一些變化,有些地方?jīng)]有改回來。有三個解決辦法:
解決1:我的異常是org.springframework.beans.factory.UnsatisfiedDependencyException,根據(jù)異常棧輸出發(fā)現(xiàn)是autowire的問題,在spring-injection.xml文件中bean配置加autowire="constructor"可以解決,正常輸出。autowire詳解:https://www.cnblogs.com/ViviChan/p/4981539.html?<--這個相當于告訴spring容器通過構(gòu)造器自動去找對應(yīng)類。
解決2:把InjectionServiceImpl.java的構(gòu)造器中injectionDAO1修改去掉1。<--相當于用autowire = default,但是你要保證要找的dao名字是相同的。
解決3:1設(shè)值注入 <property>+ref:通過設(shè)值注入,<property name="injectionDAO" ref="injectionDAO">,不過injectionServiceImpl里需要加一個無參構(gòu)造。<--這個方法就相當于setter注入。需要加一個無參構(gòu)造方法保證InjectionServiceImpl能被初始化。
以上。另外,如果要問問題。。建議貼上console窗口輸出的異常棧,以及你出錯的代碼,你貼上這個圖我以為你運行正常呢。。。
舉報
為您帶來IOC和AOP的基本概念及用法,為后續(xù)高級課程學(xué)習(xí)打下基礎(chǔ)
2 回答報錯了? No bean named 'injectionService' is defined
1 回答No bean named 'injectionServiceImpl' is defined
2 回答No bean named 'oneInterface' is defined 找不見bean
2 回答No bean named 'moocPointcut' is defined這個奇怪的錯誤
3 回答總是報這個錯No bean named 'beanAnnotation' is defined怎么解決?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-11-28
bean找不到除了你的名字拼寫錯誤,就是spring找不到你的配置。我之前運行也有錯誤,是因為老師的代碼在這一節(jié)講了兩個注解的一些變化,有些地方?jīng)]有改回來。有三個解決辦法:
解決1:我的異常是org.springframework.beans.factory.UnsatisfiedDependencyException,根據(jù)異常棧輸出發(fā)現(xiàn)是autowire的問題,在spring-injection.xml文件中bean配置加autowire="constructor"可以解決,正常輸出。autowire詳解:https://www.cnblogs.com/ViviChan/p/4981539.html?<--這個相當于告訴spring容器通過構(gòu)造器自動去找對應(yīng)類。
解決2:把InjectionServiceImpl.java的構(gòu)造器中injectionDAO1修改去掉1。<--相當于用autowire = default,但是你要保證要找的dao名字是相同的。
解決3:1設(shè)值注入 <property>+ref:通過設(shè)值注入,<property name="injectionDAO" ref="injectionDAO">,不過injectionServiceImpl里需要加一個無參構(gòu)造。<--這個方法就相當于setter注入。需要加一個無參構(gòu)造方法保證InjectionServiceImpl能被初始化。
以上。另外,如果要問問題。。建議貼上console窗口輸出的異常棧,以及你出錯的代碼,你貼上這個圖我以為你運行正常呢。。。