2 回答

TA貢獻1818條經驗 獲得超3個贊
要綁定作業參數,您需要將后期綁定功能與StepScope.
您需要做的是將您的 setter 定義為步進范圍的 bean。在您的情況下,一種典型的方法是將項目閱讀器聲明為 bean 并按如下方式傳遞作業參數:
@Bean
@StepScope
public FlatFileItemReader flatFileItemReader(@Value("#{jobParameters['inputFileName']}") String name) {
return new FlatFileItemReaderBuilder<Foo>()
.name("flatFileItemReader")
.resource(new FileSystemResource(name))
// set other properties on the reader
}

TA貢獻1993條經驗 獲得超6個贊
使用 Spring,您應該能夠通過使用帶有語法的@Value注釋來獲取命令行參數。${}
public void setFileName(@Value("${inputFileName}") final String name) {
inputFileName = name;
}
顯然,@Value注釋適用于由 Spring 上下文(Beans)管理(有時是代理)的對象。
添加回答
舉報