@Autowired不适用于FlatFileItemWriter

时间:2014-10-31 15:51:50

标签: java spring spring-batch

我正在尝试在处理器中注入我的FlatFileItemWriter,但我总是得到相同的异常。

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.batch.item.file.FlatFileItemWriter] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:993)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:863)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:775)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:489)
... 56 more

我的配置如下。我用这种方式声明了我的FlatFileItemWriter:

    <bean id="myWriter" class="org.springframework.batch.item.file.FlatFileItemWriter" />

然后我以这种方式启用了bean autoscan和annotation配置:

<context:annotation-config/>
<context:component-scan base-package="com.myCompany.batch"/>

最后我尝试自动连接bean

@Component
public class GsLetturaProcessor implements ItemProcessor<GsLettura,GsLettura>,Costanti{

@Autowired
FlatFileItemWriter writer;

}

通常我能够在应用程序上下文中定义bean并将其注入另一个bean。为什么它在这种情况下不起作用?我想也许问题是FlatFileItemWriter使用泛型。我在哪里做错了?

UPDATE1

enter image description here

我的bean定义在job-context.xml中,而后者在context.xml中

0 个答案:

没有答案