Как я могу использовать BeanUtils copyProperties для копирования из логического в логическое? - PullRequest
1 голос
/ 05 марта 2009

BeanUtils copyProperties из коробки, похоже, не обрабатывает копирование из свойств логического объекта в свойства логического примитива.

Я подумал, что мог бы создать и зарегистрировать конвертер, чтобы справиться с этим, но это просто не сработало.

Итак, как я могу использовать BeanUtils для копирования свойств из класса Source в класс Destination, где:

public class Destination {

    private boolean property;

    public boolean isProperty() {
        return property;
    }

    public void setProperty(boolean property) {
        this.property = property;
    }
}


public class Source{

    private Boolean property;

    public Boolean getProperty() {
        return property;
    }

    public void setProperty(Boolean property) {
        this.property = property;
    }
}

Ответы [ 3 ]

2 голосов
/ 31 октября 2015
try creating both 
/*by default beanutils copyproperties looks for below method if you use either apache or spring flavour of beanutils.
always prefer using apache 1.9.2 ( fixed many bugs) but bit slow compared with spring beanutils.*/
 public Boolean getProperty() {
        return property;
    }
//which is used by some frameworks 
 public Boolean isProperty() {
        return property;
    }
0 голосов
/ 28 мая 2010
public class Destination {
    private boolean property;

    // code getProperty() instead
    public boolean isProperty() {
        return property;
    }

    public void setProperty(boolean property) {
        this.property = property;
    }
}
0 голосов
/ 05 марта 2009

Это на самом деле наоборот:

public static void main(String[] args) throws Exception {
    Source d = new Source();
    d.setProperty(Boolean.TRUE);
    BeanMap beanMap = new BeanMap(d);

    Destination s = new Destination();
    BeanUtils.populate(s, beanMap);
    System.out.println("s.getProperty()=" + s.isProperty());
}
...