1. Annotation Arrangement
- @Valid
- 유효성을 검증하겠다는 의미입니다
- @ExceptionHandler
- Controller계층에서 발생하는 에러를 잡아서 Method로 처리해주는 기능을 말합니다
- @Target
- 애노테이션을 붙일 수 있는 대상을 지정해주는 것을 말합니다
- [Type]
- ANNOTATION_TYPE : 어노테이션
- LOCAL_VARIABLE : 지역(로컬) 변수
- PACKAGE : 패키지
- @Retention
- 애노테이션이 언제까지 살아남아 있을지를 정하는 것을 말합니다
- [속성]
- RetentionPolicy.SOURCE : 소스코드(.java)까지 남아있는다는 의미입니다
- RetentionPolicy.CLASS : 클래스 파일(.class)까지 남아있는다는 의미입니다(Byte Code)
- RetentionPolicy.RUNTIME : 런타임까지 남아있는다는 의미입니다(안사라진다고 생각하면됩니다)
- @Validated
- @Valid의 기능을 포함하고 있으며, 추가적으로 유효성을 검증할 옵션에 대한 그룹을 지정할 수 있는 기능이 있습니다
- @ClassPath
- 클래스를 찾기위한 경로입니다
- @Email
- 형식이 email이여야 합니다