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工作的原因