java.io.FileNotFoundException: class path resource [XXXXX.xml] cannot be opened

ava.io.FileNotFoundException: class path resource [beans.xml] cannot be opened because it does not exit.

在用maven管理的spring項目中做單元測試時候,加載不了spring的配置文件。出現該問題的原因是,用maven創建的項目,必須把spring的配置文件beans.xml或者applicationContext.xml放到系統根目錄下,做單元測試時候用

ApplicationContext applicationContext=new ClassPathXmlApplicationContext("beans.xml");
    Girl girl=(Girl)applicationContext.getBean("girl");
才能正確加載spring的配置文件,才能正確獲取bean。不知道這個定律在其他電腦的環境下是否適合,擼主在兩臺計算機上都是通過這種方式配好的。

maven項目的系統根目錄默認是src/main/java和src/main/resources,而不是src,所以beans.xml文件必須放到 src/main/java和src/main/resources 下面的文件夾或者包中,否則就會報上面的錯誤: java.io.FileNotFoundException: class path resource [beans.xml] cannot be opened because it does not exit.

還有一點,要注意的是,如果beans.xml不是直接放到了 src/main/java和src/main/resources路徑下,在讀取beans文件時候,還要加上路徑,如beans.xml放在了 src/main/java/conf路徑下,那麼加載時候要這樣寫:

ApplicationContext applicationContext=new ClassPathXmlApplicationContext("conf/beans.xml");

否則就會報錯: java.io.FileNotFoundException: class path resource [beans.xml] cannot be opened because it does not exit.

而下面這種寫法,是把 beans.xml直接放到了 src/main/java和src/main/resources路徑下 

ApplicationContext applicationContext=new ClassPathXmlApplicationContext("beans.xml");
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章