Spring

[스프링] 커스텀 어노테이션(Custom Annotation)

문승주 2023. 7. 22. 21:28
반응형

본 내용은 인프런의 김영한 님의 강의 "스프링 핵심 원리 - 기본편" 내용을 바탕으로 정리한 내용입니다.
 

커스텀 어노테이션(Custom Annotation)

Java 언어 자체에서 기본적으로 제공하는 어노테이션 외에도 사용자가 필요에 따라 커스텀 어노테이션을 정의하여 사용할 수 있는데, 인터페이스를 정의하고 해당 인터페이스에 @interface 키워드를 사용하여 어노테이션을 선언하면 된다.
 
예시) myMethod()에 @MyCustomAnnotation 어노테이션을 적용했다. 이렇게 적용한 어노테이션은 런타임에도 정보를 유지하며, 리플렉션을 통해 해당 메소드에 부여한 메타데이터를 얻을 수 있다.

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME) // 어노테이션 정보를 런타임에도 유지할 수 있도록 설정
@Target(ElementType.METHOD) // 메소드에만 어노테이션을 사용할 수 있도록 설정
public @interface MyCustomAnnotation {
    String value() default ""; // 필요에 따라 속성을 추가할 수 있다.
    int count() default 1;
}

 

public class MyClass {

    @MyCustomAnnotation(value = "hello", count = 3)
    public void myMethod() {
        // 메소드 내용
    }
}
반응형