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");