Spring/spring_유용한것

ModelMapper 사용하기

slow333 2023. 6. 11. 13:33

depencenty 

// https://mvnrepository.com/artifact/org.modelmapper/modelmapper
implementation group: 'org.modelmapper', name: 'modelmapper', version: '3.1.1'

 

main application에 bean 생성

 

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

 

사용하는 곳(serviceImpl)에서 di

 

    private final ModelMapper mapper;

    @Autowired
    public PostServiceImpl(ModelMapper mapper) {
        this.mapper = mapper;
    }

 

사용하는 방법

 

 # 사용 전
     private PostDto mapToDto(Post post) {
        PostDto postDto = new PostDto();
        postDto.setContent(post.getContent());
        postDto.setDescription(post.getDescription());
        postDto.setTitle(post.getTitle());
        postDto.setId(post.getId());
        return postDto;
    }

    private Post mapToEntity(PostDto postDto) {
        Post post = new Post();
        post.setTitle(postDto.getTitle());
        post.setDescription(postDto.getDescription());
        post.setContent(postDto.getContent());
        return post;
    }
## 사용 후
    private PostDto mapToDto(Post post) {
        PostDto postDto = mapper.map(post, PostDto.class);
                          // 이전  , 이후
        return postDto;
    }

    private Post mapToEntity(PostDto postDto) {
        Post post = mapper.map(postDto, Post.class);
        return post;
    }