2015-12-31 98 views
0

我需要創建用於測試的bean批處理器(在控制器中)。這個處理器擁有@Value屬性,我無法理解我如何創建這個bean。
我想這樣的:創建處理器bean(spring批處理)並注入其依賴關係

autowireCapableBeanFactory.autowireBean(portfolioDataCalculationProcessor);

但它不起作用,因爲可以初始化/設置@Value屬性。

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


任何想法如何實現它?

回答

0

在處理器此替換註釋,因爲此字段(jobProcessingId)是沒有必要的測試:

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

爲了訪問jobparameters,bean應該在「step」範圍內定義。