스프링 웹 MVC-07.Formatter, 도메인 클래스 컨버터
WebMvcConfigurer 1부
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurer.html#addFormatters-org.springframework.format.FormatterRegistry-
Formatter
- rinter: 해당 객체를 (Locale 정보를 참고하여) 문자열로 어떻게 출력할 것인가
- Parser: 어떤 문자열을 (Locale 정보를 참고하여) 객체로 어떻게 변환할 것인가
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/format/Formatter.html
포매터 추가하는 방법 1
- WebMvcConfigurer의 addFormatters(FormatterRegistry) 메소드 정의
포매터 추가하는 방법 2 (스프링 부트 사용시에만 가능 함)
- 해당 포매터를 빈으로 등록
도메인 클래스 컨버터
스프링 데이터 JPA는 스프링 MVC용 도메인 클래스 컨버터를 제공합니다.
도메인 클래스 컨버터
- 스프링 데이터 JPA가 제공하는 Repository를 사용해서 ID에 해당하는 엔티티를 읽어옵니다.
의존성 설정
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
엔티티 맵핑
@Entity
public class Person {
@Id @GeneratedValue
private Integer id;
...
리파지토리 추가
public interface PersonRepository extends JpaRepository<Person, Integer> {
}
테스트 코드 수정
- 테스트용 이벤트 객체 생성
- 이벤트 리파지토리에 저장
- 저장한 이벤트의 ID로 조회 시도