1

我需要生成一个名为:当前日期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 中声明得很好

4

0 回答 0