zoukankan      html  css  js  c++  java
  • BeanFactory not initialized or already closed

    今天在写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");

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

  • 相关阅读:
    spring boot入门程序获取自定义配置文件内的参数并返回json数据的错误案例1
    MIME媒体类型
    浏览器重排和重绘——JavaScript之DOM性能优化
    ECMAScript 5 浏览器兼容性列表
    浏览器性能分析
    JS函数调用方式
    document.body is null
    动态JavaScript技术总结
    网站下载时间快慢带来的影响
    JavaScript好文推荐(持续更新)
  • 原文地址:https://www.cnblogs.com/lijingbo/p/7289668.html
Copyright © 2011-2022 走看看