创建处理器bean(spring批处理)并注入其依赖项

时间:2015-12-31 16:55:08

标签: java spring dependency-injection spring-batch

我需要创建用于测试的bean批处理器(在控制器中)。这个处理器有属性@Value,我无法理解如何创建这个bean。
我试着这样做:

  

autowireCapableBeanFactory.autowireBean(portfolioDataCalculationProcessor);

但它不起作用,因为可以初始化/设置@Value属性。

public class PortfolioDataCalculationProcessor implements ItemProcessor<PortfolioCalculationData, PortfolioCalculationResultData>, StepExecutionListener {
    @Value("#{jobParameters['" + BatchUtils.KEY_UUID + "']}")
    private String jobProcessingId;
....


任何想法如何实现它?

2 个答案:

答案 0 :(得分:1)

为了访问作业参数,应该在“步骤”范围内定义bean。

答案 1 :(得分:0)

将处理器中的注释替换为此,因为测试不需要此字段(jobProcessingId):

@Value("#{getObject('jobParameters') != null ? jobParameters['" + BatchUtils.KEY_UUID + "']: '0'}")
相关问题