코드 사이에 특별한 의미, 기능을 수행하도록 하는 기술
@repository → @component → 컴포넌트 스캔의 대상이 됨
@Autowired→ 컨트롤러 생성자 주입, constructor가 1개만 있으면 생략 가능
@RequiredArgsConstructor → @Autowired + Constructor 생략 가능
@ModelAttribute → model.addAttribute() 생략가능 → @modelAttribute 자체도 생략가능
@requestParam과 @ModelAttribute 의 차이
@Notnull ,@NotBlank ,@NotEmpty 의 차이
@Notnull 은 null 만 허용하지 않음, “” , ” “ 허용@NotEmpty 은 null과 “” 은 허용하지 않고 “ “ 허용@NotBlank 는 null, “”,” “ 모두 허용하지 않음@RequestBody에 @Valid 사용하면 됨@Email : Email 형식이 아니면 예외 던짐