@RequestMapping 애노테이션을 메타 애노테이션으로 사용하기
- @GetMapping 같은 커스텀한 애노테이션을 만들 수 있다.
메타(Meta) 애노테이션
- 애노테이션에 사용할 수 있는 애노테이션
- 스프링이 제공하는 대부분의 애노테이션은 메타 애노테이션으로 사용할 수 있다.
조합(Composed) 애노테이션
- 한개 혹은 여러 메타 애노테이션을 조합해서 만든 애노테이션
- 코드를 간결하게 줄일 수 있다.
- 보다 구체적인 의미를 부여할 수 있다.
@Retention
- 해당 애노테이션을 언제까지 유지할 것인가.
- Source: 소스 코드 까지만 유지, 즉 컴파일 하면 해당 애노테이션 정보는 사라진다.
- Class: 기본설정 컴파일 한 .class파일에도 유지 그러나 런타임 시 메모리로 읽어 오면 사라진다.
- Runtime: 클래스를 메모리에 읽어 왔을 때까지 유지!
@Target
- 해당 애노테이션을 어디에 사용할 수 있는지 결정