[Spring] ModelMapper 사용

Minit88·2023년 4월 3일
0

Spring

목록 보기
3/16
post-thumbnail

ModelMapper 란?

ModelMapper 란 서로 다른 object 간의 필드 값을 자동으로 mapping 해주는 library 이다.

ModelMapper을 사용하게 되는 경우


Spring이 데이터 베이스를 참조할 때에 Entity(데이터베이스 측) 와 view layer(Spring 측) 에서 사용될 data object가 구분된다.

즉, 서로 다른 데이터 형태를 참조하게 될 때마다 원하게 되는 형태로 변환이 필요하게 된다. 따라서, Entity의 값을 view layer에 전달할 경우 data object로 새로 변환해주는 작업을 해야한다.

일반적으로 getter/setter 또는 Builder 패턴을 통하여 해당 작업을 할 경우 필드가 많을 수록 코드가 길어지고 반복적인 작업량이 늘어나게 된다.

반복적인 object 간 변환을 간단하게 줄이고 싶을 때 ModelMapper 를 사용할 수 있다.

ModelMapper 사용

build.gradle 설정

DI 를 구현하기 위해

implementation group: 'org.modelmapper', name: 'modelmapper', version: '3.0.0'

를 dependencies 에 추가한다.

Congiguration,bean 설정

ModelMapper을 설정하기 위해 config 패키지를 추가하고 ModelMapperConfig 클래스를 추가한다.

@Configuration
public class ModelMapperConfig {

    @Bean
    public ModelMapper modelMapper(){
        return new ModelMapper();
    }
}

@Configuration 은 해당 클래스가 스프링 빈에 대한 설정을 하는 클래스임을 명시한다.

Spring bean 인식 설정

ModelMapperConfig를 스프링 빈으로 인식할 수 있도록 xml에 config 패키지를 componentscan을 이용해 추가한다.

<context:component-scan base-package="org.zerock.springex.'패키지명'"/>

component-scan : 빈으로 등록 될 준비를 마친 클래스들을 스캔하여, 빈으로 등록해주는 것
ex) @Controller,@Service,@Component,@Repository 어노테이션을 붙인 클래스들이 빈으로 등록 될 준비를 한 것.

🎓Reference

참조 1

profile
" To be BE "

0개의 댓글