Почему BeanUtils.copyProperties выбрасывает исключение IllegalArgument?

У меня есть два класса с одинаковыми атрибутами и одинаковыми методами get и set, один следует шаблону DTO и шаблону VO.

Итак, у меня есть что-то вроде этого:

classDTO
    private String x;
    private String y;

classVO
    private String x;
    private String y;

Почему следующий код вызывает исключение illegalArgumentException?

BeanUtils.copyProperties(classVO, classDTO);

1 ответ

Решение

Прочитайте API, и вы получите ответ на свой вопрос:

https://commons.apache.org/proper/commons-beanutils/javadocs/v1.9.3/apidocs/org/apache/commons/beanutils/BeanUtils.html

Броски:

IllegalArgumentException - если аргумент dest или orig является нулем или если тип свойства dest отличается от типа источника, и соответствующий конвертер не был зарегистрирован.

Кроме того, Java-определение bean-компонента - это сериализуемый класс с конструктором по умолчанию и методами получения и установки, которые разрешают доступ к его полям. Ваши примеры классов не соответствуют этим требованиям.

Другие вопросы по тегам