spring boot에서 특정한 기능을 코드에 "선언적으로" 적용하는 방법.
별도의 구성 파일을 작성하지 않고, 어노테이션을 붙이는 것만으로 해당 기능을 활성화 시킬 수 있음
즉, 코드에 이러한 역할을 부여해라 라는 지시를 프레임워크에 전달하는 메타데이터. > XML설정을 대체하고 선언적으로 프로그래밍을 가능하게 하는 핵심 도구.
사용자가 직접 정의하는 어노테이션.
특정 기능을 코드에 선언적으로 적용하거나, 프레임워크에서 동작을 확장할 때 사용.
@Target({ElementType.[적용대상]})
@Retention(RetentionPolicy.[정보유지되는 대상])
public @interface [어노테이션명]{
public 타입 elementName() [default 값]
...
}