如何在BeanWrapperFieldSetMapper中转换多个日期?

问题描述 投票:0回答:1

我有一个带有对象'Company'的csv文件。每个公司在系统中都有开始日期,活动终止日期和创建日期。

前两个日期格式为dd / MM / yy,最后一个日期格式为dd / MM / yyyy HH:mm。

使用BeanWrapperFieldSetMapper,我不知道如何使用xml bean解析日期的两种格式。我的代码:

code 
<bean id="companyReader" class="org.springframework.batch.item.file.FlatFileItemReader"
       scope="step">
       <!-- Read a csv file -->
       <property name="linesToSkip" value="1" />
       <property name="encoding" value="${batch.company.encodage}" />
       <property name="lineMapper">
           <bean class="org.project.batch.utils.ReadEntityLineMapper">
               <!-- split it -->
               <property name="lineTokenizer">
                   <bean
                       class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
                       <property name="delimiter" value="${batch.company.separator}" />
                       <property name="names"
                           value="name,dateStartActivity,dateEndActivity,dateCreation" />
                   </bean>
               </property>
               <property name="fieldSetMapper">
                   <!-- map to an object -->
                   <bean
                       class="org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper">
                       <property name="targetType"
                           value="org.project.entity.company" />
                           <property name="customEditors">
                               <map>
                                   <entry key="java.util.Date">
                                       <ref bean="shortDateWithHourEditor" />
                                   </entry>
                               </map>
                           </property>
                   </bean>
               </property>
           </bean>
       </property>
   </bean>

我的问题是如何为我的约会使用多个customEditor?

java spring-batch
1个回答
0
投票

对于每个字段都有其自己的日期格式(或货币格式等)的此类高级用例,您需要创建一个自定义线映射器。您仍然可以在实现中使用DelimitedLineTokenizer来标记项目,但是映射部分应该是自定义的。

© www.soinside.com 2019 - 2024. All rights reserved.