簡體   English   中英

自動澆鑄和填充POJO

[英]automatic casting and filling up POJO

想知道是否有任何方法可以重用某些Java反射API / SOAP / Web服務內部函數或外部API的內部函數來實現:

  1. 有一個對象列表,該列表是通過在線方法獲得的
  2. 通過config擁有與這些對象相對應的類的列表
  3. 一個pojo,其屬性必須填充1

有通用的方法嗎?

void process(Object pojoToFill, Class[] classesOfSetters, Objects[] values) {
         //what to do here to fill up pojoToFill with values using classesOfSetters, in a generic way?
}

void sample() {
    Object []objects;// filled with values that are needed by Person class, sent over the wire, setters
    Class []propertyClasses = new Class[String.class, Address.class]//from config
    Person person = new Person();
    process(person, propertyClasses, objects);

}


public class Person {
    private String name;
    private Address address;// etc
    // getters and setters

}

class Address {
    private String line1;// other properties and getters and setters
}

Java反射API應該可以做到這一點。

還為每個setter類傳遞setter方法名稱

void process(Object pojoToFill, Class[] classesOfSetters, String[] setterMethods, Objects[] values) {
 for (int i=0; i < classesOfSetters.length; i++){
Method methodToSetValue = classesOfsetter.getMethod(setterMethods[i]);
methodToSetValue.invoke (pojoToFill, Objects[i]);
}        
}

當您使用javabeans(getter / setter方法)時; 您還可以在Java API中使用Bean自省

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM