Java - ModelMapper

박민수·2023년 11월 15일
0

Java

목록 보기
12/13
post-thumbnail

ModelMapper

ModelMapper는 특정 Object에 있는 필드값들을 자동으로 원하는 Object로 Mappring 시켜주는 역할을 한다.

사용법

dependencies 추가

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

Bean 등록

@Configuration
public class AppConfig {

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

사용 예시

ModelMapper 사용 전

@Service
@RequiredArgsConstructor
@Transacctional
public class MemberService {    
    
    private final ModelMapper modelMapper;
 
	public void updateMember(Member member, MemberDto memberDto) {
    	member.setAge(memberDto.getAge);
   		member.setName(memberDto.getName);
        member.setAddress(memberDto.getAddress);
    }
}

ModelMapper 사용 후

@Service
@RequiredArgsConstructor
@Transacctional
public class MemberService {    
    
    private final ModelMapper modelMapper;
 
	public void updateMember(Member member, MemberDto memberDto) {
    	modelMapper.map(memberDto, member)
    }
}

Tokenizer 설정

source 필드명과 destination의 필드명이 다를 때, 예를 들어 source는 camelCase, destination은 under_score 형태일 때 아래와 같이 설정하여 매핑할 수 있다.

@Configuration
public class AppConfig {

    @Bean
    public ModelMapper modelMapper() {
        ModelMapper modelMapper = new ModelMapper();
        modelMapper.getConfiguration()
    	        .setSourceNameTokenizer(NameTokenizers.CAMEL_CASE)
                .setDestinationNameTokenizer(NameTokenizers.UNDERSCORE);
        return modelMapper;
    }
}
profile
안녕하세요 백엔드 개발자입니다.

0개의 댓글

관련 채용 정보