Ich benutze die Apache Commons BeanUtils zum Kopieren einiger Eigenschaften von einer Quell-Bean zu einer Ziel-Bean. In diesem Fall möchte ich keine Nullwerte in meiner Ziel-Bean setzen, die von der Quell-Bean kommen.Nullwerte in BeanUtils.copyProperties ignorieren
Wie zum Beispiel:
Person sourcePerson = new Person();
sourcePerson.setHomePhone("123");
sourcePerson.setOfficePhone(null);
Person destPerson = new Person();
destPerson.setOfficePhone("456");
BeanUtils.copyProperties(destPerson, sourcePerson);
System.out.println(destPerson.getOffcePhone());
// Hier destPerson Office gesetzt wird
auf null Wie kann ich das vermeiden? Ich versuchte sogar die folgende Aussage zu setzen: BeanUtilsBean.getInstance().getConvertUtils().register(false, false, 0);
was scheint nicht zu helfen.
Wie können wir Nullen in Apache Commons BeanUtils ausschließen?
http://stackoverflow.com/questions/17417345/beanutils-copyproperties-api-to-ignore-null-and-specific-propertie – StanislavL
Sie können PropertyUtils verwenden, die nicht versuchen, die Eigenschaft zu konvertieren ... Sonst Sie müssen das ConvertUtils.register für einen Standardwert registrieren ... – VelNaga
Ich möchte keinen Standardwert, ich möchte einfach keine vorhandenen Werte mit null überschreiben. Ich habe immer noch nicht verstanden, wie PropertyUtils Nullen ausschließt. –