반응형
  • Meta Annotation
    • 애노테이션에 사용할 수 있는 애노테이션
  • Composed Annotation
    • 하나 또는 여러개의 메타 애노테이션을 조합해서 만든 애노테이션
    • 코드가 간결해지고 보다 구체적인 의미를 부여할 수 있음.
  • @GetHelloMapping
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@RequestMapping(method = RequestMethod.GET, value = "/hello")
public @interface GetHelloMapping {
}
  • @Retention

    해당 애노테이션 정보를 언제까지 유지할 것인지를 설정하는 애노테이션

    @Retention(RetentionPolicy.SOURCE)
     - 소스코드까지만 유지. 즉, 컴파일하면 정보가 사라짐. 따라서 주석으로 볼 수 있다.
    @Retention(RetentionPolicy.CLASS)
     - 컴파일 한 .class파일까지 유지. 즉, 런타임 시 클래스를 메모리로 읽어오면서 정보가 사라짐.
    @Retention(RetentionPolicy.RUNTIME)
     - 클래스가 메모리에 올라와있을때에도 정보를 유지.
  • @Target

    해당 애노테이션을 어디에 사용할 수 있는지에 대한 정보

    @Target(ElementType.METHOD)

  • @Documented

    해당 애노테이션을 사용한 코드의 문서에 애노테이션 정보를 표기할지를 결정.

반응형

BELATED ARTICLES

more