문제

보일러 플레이트 코드가없는 엔티티에 DTO를 쉽게 매핑하는 방법을 찾으려고 노력하고 있습니다. 도저를 사용하려는 동안 많은 XML 구성이 필요한 것으로 보입니다. DSL을 사용하여 순수한 Java에서 Bean 매핑을 구성하는 도저 대안을 본 사람이 있습니까?

이상적으로 나는 Guice가 일을하는 방식에서 영감을 얻은 Bean Mapper를 찾기를 바라고 있습니다.

도움이 되었습니까?

해결책

나는 대안도 찾고 있었다.

여기 다른 옵션에 대한 매우 좋은 범위입니다.

다른 팁

보다 오리카.

Orika는 한 객체에서 다른 객체로 데이터를 재귀 적으로 복사하는 Java Bean 매핑 프레임 워크입니다. 다층 응용 프로그램을 개발할 때 매우 유용 할 수 있습니다.

내 관점에서 볼 때, 일부 특수 속성을 매핑하기위한 구성 또는 Java 코드가 항상 필요합니다.

여기서 나는 가져 가고 싶다 DO 그리고 DTO 예를 들어

DO:{
    id: "id",
    name:"name",
    doName1: "doName1",
    nestedObj: {
        id: "nestedObjId",
        name: "nestedObjName"
    }
}

DTO{
    id: "",
    name: "",
    name1: ""   // for mapping doName1 in DO.
    nestedId: "", //for DT.nestObj.id
    nestedName: "", //for DT.nestObj.name
}

Dozer 또는 Orika의 경우 모두 동일한 속성 이름과 유형이 있기 때문에 구성 또는 Java 코드없이 DO와 DTO 간의 ID와 이름을 자동으로 일치시킬 수 있습니다. 하지만 원한다면 DO.doName1 <----> DTO.name1 또는 DO.nestedObj.id <--->DTO.nestedId 매핑 도구를 알려 주려면 (XML 또는 Java를 통해) 일부 구성을 만들어야합니다. 나는 당신의 유스 케이스에 대해, 도저, 오리카 및 모델 머퍼는 모두 괜찮다고 생각합니다. 그러나 저에게는 성능 목적을 위해 프로젝트를 Dozer에서 Orika로 전환하고 있습니다. 오리카는 도저만큼 성숙하지는 않지만 지능이 아니며 맞춤형 매핑 구성을 유지하기 위해 많은 추가 작업을 수행해야합니다. 프로젝트가 성능에 너무 신경 쓰지 않는다면 도저를 사용하는 것이 좋습니다. 사용하기 쉽고 많은 고급 기능을 지원합니다. 그렇지 않으면 고성능을 구매하는 경우 Orika를 제안합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top