Exception in thread "main" java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
遇到這種錯誤的時候,看到網上很多人都是建議這么解決:
BeanFactory沒有實例化或者已經關閉了,其實產生錯誤的原因很簡單,在寫:
ApplicationContext ctx = new ClassPathXmlApplicationContext();
時,沒有指定配置文件,Spring實例化BeanFactory的時候是默認到classPath下面查找名為applicationContext.xml的文件的,但是呢,你又沒有指定,所以出現了這個錯誤。
這就是錯誤的原因,在括號寫上配置文件名就行了。
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
這樣的話就不會出現這樣的錯誤了。
但是還是有其他錯誤原因的:
當你的控制層controller文件有重名的時候也會報這個錯誤。