class Source {
private List<Foo> foos = new ArrayList<Foo>();
public List<Foo> getFoos() {
return foos;
}
public void setFoos(List<Foo> foos) {
this.foos = foos;
}
}
의 인스턴스를 변환 도저를 사용하려고 해요
:
자바 코드에서class Target {
private List<Foo> foos = new ArrayList<Foo>();
public List<Foo> getFoos() {
return foos;
}
}
나는이
처럼 converstion를 미리 형성 할Source s = new Source();
Target t = new Target();
t.getFoos().addAll(s.getFoos());
Target
에는 foos
prope이 없기 때문에 Dozer는 기본적으로이 변환을 수행하지 않습니다. rty (그냥 getter).
실제로지도에 필요한 속성이 많습니다. 하나의 옵션은 map the private fields directly에 도저를 알리는 것입니다,하지만이 때문에 완전히 만족하지 않습니다 :
-
나는 각 필드를 지정해야합니다
- 는 도저 XML의 설정에 이름이 방법으로 매핑 할
- 개인 필드를 액세스하는 것은 불량
더 좋은 방법이 있습니까?
당신은't.getFoos(). addAll (s.getFoos());'가 위의'Target' 구현을위한 NPE가 될 것이라는 사실을 알고 있습니다? – Thomas
죄송합니다. 제 코드를 "예식 화"하는 데 실수를했습니다. 지금 수정했습니다. –