Автор оригинала: mkyong.
Прочитайте следующее пакетное задание Spring, оно считывает данные из ” домен.csv ” и сопоставьте его с объектом домена.
1,facebook.com,Mon Jul 15 16:32:21 MYT 2013 2,google.com,Mon Jul 15 16:32:21 MYT 2013 3,youtube.com,Mon Jul 15 16:32:21 MYT 2013 4,yahoo.com,Mon Jul 15 16:32:21 MYT 2013 5,amazon.com,Mon Jul 15 16:32:21 MYT 2013
import java.util.Date;
public class DomainRanking {
private int id;
private String domainName;
private Date lastModifiedDate;
//...
}
Проблема
Проблема в том, как сопоставить/преобразовать строковую дату Пн 15 июля 16:32:21 MYT 2013 to java.util. Дата ? Выполнение вышеуказанного задания вызовет следующие сообщения об ошибках:
Cannot convert value of type [java.lang.String] to required type [java.util.Date]
for property 'lastModifiedDate':
no matching editors or conversion strategy found
Решение
Обратитесь к javadoc BeanWrapperFieldSetMapper :
Чтобы настроить способ преобразования значений набора полей в нужный тип для ввода в прототип, существует несколько вариантов. Вы можете вводить экземпляры PropertyEditor непосредственно через свойство пользовательских редакторов…
Чтобы исправить это, объявляет customdateeditor и вводит в BeanWrapperFieldSetMapper через customeditors свойство.
P.S Строка даты “Пн 15 июля 16:32:21 МАЯ 2013” представлена как “ЕЕЕ МММ дд ЧЧ:мм: сс з гггг”.
Рекомендации
- BeanWrapperFieldSetMapper javadoc
- BeanWrapperFieldSetMapper не работает для дат
- java.текст. SimpleDateFormat JavaDoc
- Пакет Spring – как конвертировать строку из файла в дату
- Весна Вводит Дату В Свойство Компонента – CustomDateEditor
- Как Преобразовать Строку В Дату – Java
Оригинал: “https://mkyong.com/spring-batch/how-to-convert-date-in-beanwrapperfieldsetmapper/”