🍂ModelMapper 설정과 @Configuration
프로젝트 개발시에 DTO <-> VO 간에 변환해야하는 경우가 많기 때문에 이를 처리하기 위해 ModelMapper를 스프링의 빈(Bean)으로 등록해서 처리함.
@Configuration : Application Context에서 싱글톤으로 Bean으로써 관리됨.
아래에 있는 ModelMapperConfig안에 getMapper()에 있는 @Bean은 반환된 객체를 스프링의 빈으로 등록시키는 역할을 함.
package org.zerock.spring_exercise.config;
import org.modelmapper.ModelMapper;
import org.modelmapper.convention.MatchingStrategies;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class ModelMapperConfig {
@Bean
public ModelMapper getMapper() {
ModelMapper modelMapper = new ModelMapper();
modelMapper.getConfiguration()
.setFieldMatchingEnabled(true)
.setFieldAccessLevel(org.modelmapper.config.Configuration.AccessLevel.PRIVATE)
.setMatchingStrategy(MatchingStrategies.STRICT);
return modelMapper;
}
}
+ ModelMapperConfig를 스프링의 빈으로 인식할 수 있도록 root-context.xml에 config 패키지를 component-scan을 이용해서 추가해줌.
<context:component-scan base-package="org.zerock.spring_exercise.config"/>