跟着慕課網的免費課Spring入門篇打算加強自己對於spring的理解,結果第一步在spring配置bean的xml就遇到了問題,感覺名字什么的都是對的,但是就是一直報no bean named 'xxx' available這個錯,也不知道為什么。這個錯誤的意思是沒有叫xxx這個名字的bean可獲得。根據這個提示我思考了一下可能的問題。
1.xml這個bean的id的命名和我應用時寫的要獲取的名字不一樣。(排除)
2.xml這個bean的class路徑不對。(排除)
3.實際上這個xml沒有獲取到。(是的)
最后發現的確是這個xml沒有獲取到,其實控制台沒有顯示Loading XML bean definitions from URL 就應該能看出來,但是還是忽略了這個信息找了很久的原因。原因找到了但是為什么沒有找到這個xml呢。我用的是classpath*:spring-dao.xml去獲取的spring-dao.xml這個文件,應該是去bin目錄下的根目錄找的,但是bin的根目錄下不存在這個文件,可能是我文件的層級設置出了問題,文件夾和package的設置出了點問題,導致spring-dao.xml編譯到bin的時候不是在根目錄而是在里面幾層的文件夾里。
https://blog.csdn.net/jixinhuluwa/article/details/51954953
這個博客解釋了一下eclipse 下面的folder,source folder,package的區別與作用,“所以就設計出來一個特別的文件夾叫source folder,放在他下面的java文件就能被編譯,而且,可以通過一定的配置將編譯文件放在你配置的文件夾下面”,這個說明了從哪一層級的編譯到bin或者classes文件中去。也就是要將哪一層里的東西開始編譯到目錄里去,就把哪一層的文件夾設為source folder,我暫時是這么理解的。