Spring的refresh()方法相关异常——call 'refresh' before...


使用Spring,新建ApplicationContext对象或者配置ApplicationContext.xml文件之后,常见一下几种错误:

1.LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: ......

翻译:LifecycleProcessor对象没有初始化,在调用context的生命周期方法之前必须调用'refresh'方法。


2.BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext

翻译:BeanFactory对象没有初始化或已经关闭了,使用ApplicationContext获取Bean之前必须调用'refresh'方法。


3.ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: ......

翻译:ApplicationEventMulticaster对象没有初始化,在context广播事件之前必须调用'refresh'方法。

 

导致这些错误的可能原因:

1. web.xml中没有配置ContextLoaderListener监听,
需要配置:

1 <listener>
2      <listener-class>
3          org.springframework.web.context.ContextLoaderListener
4     </listener-class>
5 </listener>        

2. 少 aopalliance.jar包;

3. tomcat问题,关闭tomcat,clean后,然后再重启;

4. tomcat的JDK版本和工程的JDK版本不一致,spring版本不支持jdk的版本,检查JDK配置;

5. applicationContext.xml 中 xml 格式不正确;

6. 引入的application的配置文件有问题,可能是id或者property重复;

7. xml配置文件的配置顺序有问题;

8. spring版本过低,需要配置4.0以上的版本;

9. jar包缺失或冲突;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM