Java 在Spring批处理中将属性注入FlatFileItemWriter
我需要生成一个名为:Java 在Spring批处理中将属性注入FlatFileItemWriter,java,properties,spring-batch,spring-batch-tasklet,spring-batch-excel,Java,Properties,Spring Batch,Spring Batch Tasklet,Spring Batch Excel,我需要生成一个名为:NEW_NAME_YYYY-MM-DD的文件,其中yyy-MM-DD是当前日期。除了当我的批处理试图获取属性tmp.dir时,它什么也找不到,而是调用目录null。这是我正在使用的Writer类: public class MyFileWriter extends FlatFileItemWriter { @Value("${tmp.dir}") private String tempDir; public MyFileWriter(){ s
NEW_NAME_YYYY-MM-DD
的文件,其中yyy-MM-DD
是当前日期。除了当我的批处理试图获取属性tmp.dir
时,它什么也找不到,而是调用目录null
。这是我正在使用的Writer类:
public class MyFileWriter extends FlatFileItemWriter {
@Value("${tmp.dir}")
private String tempDir;
public MyFileWriter(){
super();
setResource();
}
public void setResource() {
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD");
String stringDate = sdf.format(new Date());
String myPath = tempDir + "/NEW_NAME_" + stringDate + ".csv";
Resource outputFile = new FileSystemResource(myPath);
this.setResource(outputFile);
}
}
这是放置在applicationContext.xml
中的bean定义以及属性文件的属性占位符:
<bean id="csvWriter" class="org.conters.writer.MyFileWriter" scope="step">
<property name="lineAggregator">
<bean class="org.springframework.batch.item.file.transform.DelimitedLineAggregator">
<property name="delimiter" value=";" />
<property name="fieldExtractor">
<bean class="org.springframework.batch.item.file.transform.BeanWrapperFieldExtractor">
<property name="names" value="ad,customer,total" />
</bean>
</property>
</bean>
</property>
<property name="encoding" value="${csv.encoding}" />
</bean>
你知道为什么不注入房产吗???至于名为
batch.properties
的属性文件,在我的例子中它在applicationcontext中声明得很好是tmp.dir
在batch.properties
文件中定义的,还是您正在尝试注入Java系统属性Java.io.tmpdir
?我看到您在setResource
方法中使用temporaryDir
,而变量名为tempDir
。这是故意的还是打字错误?既然您在XML配置中定义了bean,那么在MyFileWriter
类中为tempDir
添加一个setter并在XML中添加
怎么样?在我看来,这比混合使用两种配置(注释和XML)更为一致。是在批处理.properties
文件中定义了tmp.dir
,还是尝试注入Java系统属性Java.io.tmpdir
?我看到您在setResource
方法中使用temporaryDir
,而变量名为tempDir
。这是故意的还是打字错误?既然您在XML配置中定义了bean,那么在MyFileWriter
类中为tempDir
添加一个setter并在XML中添加
怎么样?在我看来,这比混合使用两种配置(注释和XML)更为一致。