(请高人们指点)spring管理的bean,为什么tomcat启动完成后,bean中注入的属性变为了NULL
在我的applicationContext.xml中配置了如下bean
<bean id="sysConfigService" parent="baseTxProxy">
……
</bean>
<bean id="configer" class="com.family168.init.Configer" >
<property name="sysConfigService">
<ref bean="sysConfigService" />
</property>
</bean>
Configer类的相关代码为
public class Configer
{
private ICommon sysConfigService;
public void setSysConfigService(ICommon sysConfigService)
{
this.sysConfigService = sysConfigService;--------(1)
}
public void loadSysConfig()
{
ArrayList list=(ArrayList)this.sysConfigService.getObjs();---------(3)
}
}
这个类我在系统启动时作了调用,代码如下
public class initSystemListener implements ServletContextListener
{
public void contextInitialized(ServletContextEvent arg0)
{
Configer.getInstance("systemConfig").loadSysConfig();------(2)
}
}
经过断点跟踪,发现系统启动时,可以进入到(1)并且,this.sysConfigService 已经赋了值,但是继续跟踪发现在(2)处进行调用时,进入到(3)后,this.sysConfigService 变成了null
initSystemListener 在web.xml中进行了配置,相关代码如下
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener </listener-class>
</listener>
<listener>
<listener-class>
initSystemListener
</listener-class>
</listener>
请高人指点
------解决方案--------------------
struts2是放在web里一直存放着,所以到处可以用