728x90
ObjectMapper와 ModelMapper는 둘 다 Java 객체 간의 매핑을 지원하는 라이브러리입니다.
그러나 각각의 라이브러리는 목적과 사용 방법이 약간 다릅니다.
ObjectMapper
- Jackson 라이브러리에서 제공하는 클래스로, JSON 데이터와 Java 객체 간의 변환을 처리합니다.
- JSON 문자열을 Java 객체로 변환하거나, Java 객체를 JSON 문자열로 변환하는 데 사용됩니다.
- 주로 RESTful API에서 클라이언트와 서버 간의 데이터 전송을 위해 사용됩니다.
- 주로 JSON 데이터를 처리하는 데 사용되며, 객체 간의 매핑에 특화되어 있습니다.
// JSON 문자열을 Java 객체로 변환하는 예제
String jsonString = "{\"name\":\"John\", \"age\":30}";
ObjectMapper objectMapper = new ObjectMapper();
Person person = objectMapper.readValue(jsonString, Person.class);
// Java 객체를 JSON 문자열로 변환하는 예제
Person person = new Person("John", 30);
String jsonString = objectMapper.writeValueAsString(person);
ModelMapper
- Java 객체 간의 매핑을 위한 라이브러리로, 객체 간의 필드를 자동으로 매핑합니다.
- 주로 비슷한 구조의 여러 객체 간의 데이터 복사를 편리하게 처리하기 위해 사용됩니다.
- 주로 비즈니스 로직이나 데이터 전송 객체(DTO)에서 엔티티 객체로의 변환 등에서 활용됩니다.
- 객체 간의 매핑에 특화되어 있으며, 주로 객체의 상태를 다른 객체로 복사하는 데 사용됩니다.
// 객체 간의 매핑 예제
ModelMapper modelMapper = new ModelMapper();
UserEntity userEntity = new UserEntity();
userEntity.setUsername("john_doe");
userEntity.setPassword("password123");
UserDto userDto = modelMapper.map(userEntity, UserDto.class);
따라서 ObjectMapper는 주로 JSON 데이터 처리에 사용되고, ModelMapper는 Java 객체 간의 매핑에 특화되어 있습니다.
'공부 > 추가공부' 카테고리의 다른 글
선착순 이벤트 시스템 - 동시성 해결(redis, kafka 활용) (0) | 2024.06.05 |
---|---|
API란 (0) | 2024.05.16 |
[디자인패턴] 프록시 패턴과 프록시 서버 (0) | 2024.04.08 |
[디자인패턴] 전략 패턴(정책 패턴) (0) | 2024.04.07 |
[디자인패턴] 팩토리 패턴 (0) | 2024.04.05 |