V2의 버전을 V3로 바꾸기 위해 좋은 단축키가 있다.
이렇게 v3 폴더를 클릭한 상태에서
cmd + shift + r
을 누르면
이렇게 특정 단어를 다른 단어로 바꿔주는 명령을 실행할 수 있다.
스프링 MVC는 어떻게 Bean Validator를 사용할까
스프링 부트가 spring-boot-starter-validation
라이브러리를 넣으면 자동으로 Bean Validator를 인지하고 스프링에 통합한다.
또 스프링 부트는 자동으로 글로벌 Validator로 등록한다.
그렇기 때문에 @Valid
, @Validated
만 적용하면,
검증 오류가 발생했을때 FieldError
, ObjectError
를 생성해서 BindingResult
에 담아준다.
참고
검증은 @Valited
, @Valid
둘다 사용가능하다.
@Valid
는 의존관계 추가가 필요하다.
implementation 'org.springframework.boot:spring-boot-starter-validation'
@Validated
는 스프링 전용 검증 어노테이션이고 @Valid
는 자바 표준 검증 어노테이션이다. 다만 @Validated
는 groups
라는 기능이 있는데 이건 뒤에서 설명.
검증 순서
@ModelAttribute
각각의 필드에 타입 변환을 시도
typeMismatch
로 FieldError
추가Validator 적용
바인딩에 실패하면 Been Validation을 적용하지 않는다.
타입 변환에 성공한 필드여야 Beean Validation이 의미가 있기 때문.
예)
itemName
에 문자 "A" 입력 -> 타입 변환성공 -> Bean Validation 적용
price
에 문자 "A" 입력 -> 타입 변환실패 -> typeMismatch FieldError 추가 -> Bean Validation 적용 X