我需要创建用于测试的bean批处理器(在控制器中)。这个处理器有属性@Value,我无法理解如何创建这个bean。
我试着这样做:
autowireCapableBeanFactory.autowireBean(portfolioDataCalculationProcessor);
但它不起作用,因为可以初始化/设置@Value属性。
public class PortfolioDataCalculationProcessor implements ItemProcessor<PortfolioCalculationData, PortfolioCalculationResultData>, StepExecutionListener {
@Value("#{jobParameters['" + BatchUtils.KEY_UUID + "']}")
private String jobProcessingId;
....
任何想法如何实现它?
答案 0 :(得分:1)
为了访问作业参数,应该在“步骤”范围内定义bean。
答案 1 :(得分:0)
将处理器中的注释替换为此,因为测试不需要此字段(jobProcessingId):
@Value("#{getObject('jobParameters') != null ? jobParameters['" + BatchUtils.KEY_UUID + "']: '0'}")