读书人

SpringBean的加载顺序跟Tomcat有关

发布时间: 2012-09-01 09:33:02 作者: rapoo

Spring——Bean的加载顺序和Tomcat有关?或者和系统有关?
有一个Java的SSH项目,在win系统上可以正常运行,但到了Ubuntu上就不行。

查看了Tomcat的启动信息,说是bean找不到。实际上bean是有的,只是顺序有先后。

类似这样的:

Java code
<bean id="customerLogic">     <property name="dao" ref="customerDao"/></bean><bean id="customerDao"></bean>


就是前面的bean(customerLogic)引用了后面定义的bean(customerDao)。在Ubuntu上查看Tomcat的日志,提示customerDao这个bean找不到。

bean的加载顺序和定义的先后顺序有关?或者和Tomcat有关?抑或者和系统(win/Ununtu)有关?

WinXp Tomcat-5.5.20
Ubuntu 11 Tomcat-5.5.33

[解决办法]
Bean 的加载就是 定位 -》 载入 -》 注册的基本过程。载入过程中第一步是xml的载入,,第2步才是bean的解析,放到beanDefinition的数据结构中。所以定义顺序跟加载顺序没有必然联系。
[解决办法]
可以试一下,配置多个applicationContext-*.xml

[解决办法]
和你在web.xml中的配置有关系的吧
[解决办法]
bean的class属性值写的对么
注意空格之类的 细心点
[解决办法]
你分开几个xml文件 几个最先需要初始化的放在同一个xml里面 就可以了
[解决办法]
spring确实存在加载顺序的问题,但是我感觉只要spring的filter配置正确的顺序的,基本上都没问题。由于没有碰到过类似的情况。只提供一个建议:看一下web-xml中spring的filter的顺序。

读书人网 >J2EE开发

热点推荐