웹MVC와 JDBC의 결합 - ModelMapper

휘Bin·2023년 6월 13일
0
post-thumbnail

JDBC를 DAO를 구성했다면, 서비스 객체와 커트로럴 객체를 연동해 최종적으로 실행 가능한 웹 애플리케이션을 제작해야 한다.

DTO는 getter/setter/toString/equals/hashCode 등을 모두 컴파일할 때 생성해준다.
반면, VO는 getter만을 이용해 일기 전용으로 구성하는 것에 차이가 있다.(VO는 주로 일기 위주의 작업을 위해서만 사용함)

  • DTO, VO를 둘 다 만들어야하는지에 대한 찬반이 있다. 당연히 둘 다 작성하면 코드 양도 많아지고, 변환할 때 번거롭기 때문이다. 하지만 2개 다 만드는 것이 좋을 수 있다. 어차피 JPA에 필수적이고, 스프링에서 DTO는 검증이나 변환에 전혀 다른 어노테이션들이 필요하기 때문이다.

그리고 DTO -> VO, VO -> DTO 변환은 ModelMapper라이브러리를 이용한다.

ModelMapper 라이브러리

  • ModelMapper는 getter/setter 등을 이용해 객체의 정보를 다른 객체로 복사하는 기능을 제공한다.
  • ModelMapper를 이용할 때는 대상 클래스의 생성자를 이용할 수 있도록 관련 어노테이션들을 추가한다.
  • ModelMapper 설정을 변경하려면 getConfiguration()을 이용해 private으로 선언된 필드도 접근 가능하도록 설정을 변경하고 get()을 이용해 ModelMapper를 사용할 수 있게 구성한다.
profile
One-step, one-step, steadily growing developer

0개의 댓글