2013-12-19 2 views
2

В классе Jodd BeanUtil нет метода, который будет копировать данные из одного объекта в другой, то есть в классе apache commons BeanUtils существует способ copyProperties, который будет копировать данные из одного объекта в другой ,BeanUtil не копирует данные между двумя объектами

В Jodd мы должны передать имя поля и его значение. Если есть поля размером 20+, мы должны сделать это вручную для всех 20 полей или есть лучший способ сделать это с помощью Jodd BeanUtil.

ответ

1

На самом деле, есть такой инструмент в Jodd - его просто в другом классе: BeanCopy (javadoc). Этот класс предлагает некоторый контроль над процессом копирования, например включение/исключение некоторых свойств и т. Д. Это было слишком велико, чтобы поместить все эти функции в BeanUtil :)

Посмотрите на test sources, вы найдете много примеров. Вот несколько кратких примеров:

BeanCopy.beans(src, dest).copy(); 
BeanCopy.beans(src, dest).include("fooInteger", "fooLong").copy(); 
BeanCopy.beans(fooBean, dest).includeAs(FooBeanString.class).copy(); 
BeanCopy.beans(src, dest).declared(true).copy(); 

и так далее.

Смежные вопросы