BeanFactory not initialized or already closed

来源:互联网 发布:英国的域名 编辑:程序博客网 时间:2024/06/01 19:56

BeanFactory not initialized or already closed - call 'refresh' before accessing beans解决办法

今天在写Spring程序时遇到了一个很常见的错误,而我以前好像一直没碰到过,今天才见到这个错误,经过研究解决了这个错误,犯这个错误真是不应该啊。

复制代码
log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.Exception in thread "main" java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext    at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:172)    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1097)    at com.pb.demo.Test.main(Test.java:12)
复制代码

 

BeanFactory没有实例化或者已经关闭了,其实产生错误的原因很简单,在写:

ApplicationContext ctx = new ClassPathXmlApplicationContext();

时,没有指定配置文件,Spring实例化BeanFactory的时候是默认到classPath下面查找名为applicationContext.xml的文件的,但是呢,你又没有指定,所以出现了这个错误。

这就是错误的原因,在括号写上配置文件名就行了。

ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

这样的话就不会出现这样的错误了。

分类: 所遇到的错误
好文要顶 关注我 收藏该文  
森林森
关注 - 26
粉丝 - 337
+加关注
1
0
« 上一篇:Spring(六)AOP切入方式
» 下一篇:CSS 类选择器(四)
posted @ 2015-04-10 00:25 森林森 阅读(17386) 评论(1) 编辑 收藏

  
#1楼 2016-08-23 14:13 | 糊涂小农  
这只是其中一种情况,还有一种情况就是有多个以上的相同名称的controller文件
阅读全文
0 0
原创粉丝点击