Webservice接口开发时,Spring无法注入

项目架构:SpringMVC+spring-task+Mybatis+xfire+oracle

在调用别人接口传数据时,遇到Spring不能注入的问题

解决方案为重写jobFactory:

方法类

package com.test.common;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.scheduling.quartz.AdaptableJobFactory;
import org.quartz.spi.TriggerFiredBundle;

public class MyJobFactory extends AdaptableJobFactory{
    
    //这个对象Spring会帮我们自动注入进来,也属于Spring技术范畴.
    @Autowired
    private AutowireCapableBeanFactory capableBeanFactory;
    
    protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception {
        //调用父类的方法
        Object jobInstance = super.createJobInstance(bundle);
        capableBeanFactory.autowireBean(jobInstance);
        return jobInstance;
    }

}

在Spring配置文件中加入以下配置

   <bean id="schedulerista" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="jobFactory">
              <bean class="com.test.common.MyJobFactory" />
        </property>   
  </bean>

在次运行就成功了!

原文地址:https://www.cnblogs.com/wuxiaojuan/p/9227538.html