错误原因:BeanFactory没有实例化或者已经关闭。原因很简单:ApplicationContext ctx = new ClassPathXmlApplicationContext();Spring实例化BeanFactory的时候是默认到classPath下面查找名为applicationContext.xml的文件。这正是这个错误的原因,修改为:ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");如果这样的话就不会出现这样的错误了。applicationContext.xml,,,,可以是自己命名的xml来自网络:http://blog.sina.com.cn/s/blog_80e498b10100w10b.html

解决方案 »

  1.   

    你是不是写了获取xml的方式来创建服务,类似于下面的这种:
    ApplicationContext ctx = new ClassPathXmlApplicationContext();
    UserService service = (UserService)ctx.getBean("bean.xml");
      

  2.   

    http://blog.163.com/zsq303288862@126/blog/static/93745961201111514325196/楼主看下这个,希望能帮到
      

  3.   


    我就是ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");这样配置的哦,不是这个原因
      

  4.   

    ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
    你这样使用,每次使用都会重启服务的。
      

  5.   


    我就是ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");这样配置的哦,不是这个原因其实我也不太懂,所以才去网上帮你搜答案, applicationContext.xml为啥不用 web.xml去配置,而要这样去获取呢
      

  6.   

    多线程环境下出的问题都是很诡异的,跟各线程的代码执行先后顺序有关系,所以你本地没问题,但是服务器有问题。我觉得在你的多线程环境中存在2个以上ApplicationContext对象,即存在多个spring容器,其中一个spring容器的beanFactory已经关闭了,另一个线程却调用了它,好好检查下代码吧。