BeanFactory not initialized or already closed - call 'refresh' before access

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文件有重名的时候也会报这个错误。

posted @ 2016-08-23 14:17  糊涂小农  阅读(4856)  评论(1编辑  收藏  举报