我在spring的配置文件中构造了两个bean,内容如下:
<!-- 定义调度对象 -->
<bean id="Scheduler" lazy-init="false" autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean" >
</bean>



<bean id="AddJob" class="com.dhcc.scheduler.action.AddAction">
<property name="scheduler">
<ref local="Scheduler"/>
</property>
</bean>下面的bean中有一个属性时要用上面得bean来注入的请看我AddAction中的内容:
         import org.quartz.impl.StdScheduler;//导入的包         private StdScheduler scheduler;//属性声明
         //get,set方法
public StdScheduler getScheduler() {
return scheduler;
} public void setScheduler(StdScheduler scheduler) {
this.scheduler = scheduler;
}为什么调用scheduler时,报scheduler为空的错呢???

解决方案 »

  1.   


    <bean id="AddJob" class="com.dhcc.scheduler.action.AddAction"> 
    AddJob 你确定和struts中path一样?
    再检查一下 看路径否有写错
      

  2.   

    <bean name="/email" class="com.yidu.struts.action.EmailAction">//struts中action的path
      <action
          attribute="emailForm"
          input="wirteEmail.jsp"
          name="emailForm"
          path="/email"
          scope="request"
          type="com.yidu.struts.action.EmailAction" /> </action-mappings>
      

  3.   

    lazy-init="false" 这句话去了,否则web服务启动时,是不会进行初始化的,你下面的BEAN需要上面的BEAN,上面BEAN都还没有,当然为空