如何在 BeanWrapperFieldSetMapper 中转换多个日期?
How to convert Multiple Dates in BeanWrapperFieldSetMapper?
我有一个包含我的对象的 csv 文件 'Company'。每个公司在系统中都有activity的开始日期、结束日期和创建日期。
前两个日期格式为dd/MM/yy,最后一个日期格式为dd/MM/yyyy HH:mm.
使用BeanWrapperFieldSetMapper,我不知道如何使用xml beans 一起解析两种格式的日期。我的代码:
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>
我的问题是如何为我的约会使用多个自定义编辑器?
对于每个字段都有自己的日期格式(或货币格式等)的高级用例,您需要创建自定义线映射器。您仍然可以(重新)在您的实现中使用 DelimitedLineTokenizer
来标记项目,但映射部分应该是自定义的。
我有一个包含我的对象的 csv 文件 'Company'。每个公司在系统中都有activity的开始日期、结束日期和创建日期。
前两个日期格式为dd/MM/yy,最后一个日期格式为dd/MM/yyyy HH:mm.
使用BeanWrapperFieldSetMapper,我不知道如何使用xml beans 一起解析两种格式的日期。我的代码:
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>
我的问题是如何为我的约会使用多个自定义编辑器?
对于每个字段都有自己的日期格式(或货币格式等)的高级用例,您需要创建自定义线映射器。您仍然可以(重新)在您的实现中使用 DelimitedLineTokenizer
来标记项目,但映射部分应该是自定义的。