我需要生成一个名为:当前日期NEW_NAME_YYYY-MM-DD
在哪里的文件。YYYY-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 中声明得很好。