spring批处理:使用AutomaticObjRegister注入主应用程序上下文@组件

spring批处理:使用AutomaticObjRegister注入主应用程序上下文@组件,spring,spring-batch,Spring,Spring Batch,我正在尝试将一些在主应用程序上下文中定义的@服务/@存储库bean注入到由自动对象注册器加载的一些作业中 <bean class="org.springframework.batch.core.configuration.support.AutomaticJobRegistrar"> <property name="applicationContextFactories"> <bean class="org.springfra

我正在尝试将一些在主应用程序上下文中定义的
@服务
/
@存储库
bean注入到由
自动对象注册器
加载的一些作业中

<bean class="org.springframework.batch.core.configuration.support.AutomaticJobRegistrar">
        <property name="applicationContextFactories">
            <bean class="org.springframework.batch.core.configuration.support.ClasspathXmlApplicationContextsFactoryBean">
                <property name="resources" value="classpath*:/META-INF/jobs/*Job.xml" />
            </bean>
        </property>
        <property name="jobLoader">
            <bean class="org.springframework.batch.core.configuration.support.DefaultJobLoader">
                <property name="jobRegistry" ref="jobRegistry" />
            </bean>
        </property>
    </bean>

在我的
ItemWriter
实现类中使用
@Autowired
不会注入我的服务bean

我必须在每个
*Job.xml
中启用组件扫描,或者声明每个bean,以使注入工作,但是注入的类与主应用程序上下文使用的类不同

如何在主应用程序上下文中声明相同的实例bean


感谢您的建议

您是否为每个作业激活了
上下文:注释配置

如果为激活此作业所需的每个作业创建了新的applicationcontext,则不会发生注释处理(包括@Autowired)

“context:component scan”也会激活“context:annotation config”,因此如果您激活它,这可能就是@Autowired工作的原因