Установка значений с использованием отражения Java - PullRequest
0 голосов
/ 24 июля 2011

Заранее спасибо за ваше время и помощь. Посмотрел другие посты, но только часть информации доступна, поэтому, если кто-то дает полную картину, очень ценю это.

У меня есть:

public enum AddressType {
HOME,WORK,BILLING,SHIPPING,OTHER
}

public class AddressDto implements java.io.Serializable {

private String street;
private String city;
private String stateCode;
private int zipcode;
private String country;
private AddressType addressType;

public AddressDto() {
}

public String getStreet() {
    return street;
}

public void setStreet(String street) {
    this.street = street;
}

public String getCity() {
    return city;
}

public void setCity(String city) {
    this.city = city;
}

public String getStateCode() {
    return stateCode;
}

public void setStateCode(String stateCode) {
    this.stateCode = stateCode;
}

public int getZipcode() {
    return zipcode;
}

public void setZipcode(int zipcode) {
    this.zipcode = zipcode;
}

public String getCountry() {
    return country;
}

public void setCountry(String country) {
    this.country = country;
}

public AddressType getAddressType() {
    return addressType;
}

public void setAddressType(AddressType addressType) {
    this.addressType = addressType;
}
}

@Entity
@Table(name = "ADDRESS")
public class Address implements java.io.Serializable {

private String street;
private String city;
private String stateCode;
private int zipcode;
private String country;
private AddressType addressType;

public Address() {
}

public String getStreet() {
    return street;
}

public void setStreet(String street) {
    this.street = street;
}

public String getCity() {
    return city;
}

public void setCity(String city) {
    this.city = city;
}

public String getStateCode() {
    return stateCode;
}

public void setStateCode(String stateCode) {
    this.stateCode = stateCode;
}

public int getZipcode() {
    return zipcode;
}

public void setZipcode(int zipcode) {
    this.zipcode = zipcode;
}

public String getCountry() {
    return country;
}

public void setCountry(String country) {
    this.country = country;
}

public AddressType getAddressType() {
    return addressType;
}

public void setAddressType(AddressType addressType) {
    this.addressType = addressType;
}
}

Используя отражение, я пытаюсь получить значения из DTO и установить значения для сущности. Почему отражение? Думая, что я могу повторно использовать этот код отражения для всех других подобных случаев, когда есть DTO и вовлеченный объект.

Пожалуйста, посоветуйте эффективный способ сделать это.

Спасибо.

1 Ответ

2 голосов
/ 24 июля 2011

Возможно, вы можете использовать Apache BeanUtils для этого.Класс BeanUtils имеет соответствующие методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...