1. 어노테이션 의미
- 어노테이션(annotation)은 자바 1.5버전부터 지원되는 기능으로 일종의 메타데이터(metadata)다.
- 어노테이션의 사전적 의미는 '주석'이며, 주석처럼 코드에 추가해서 사용할 수 있으며, 컴파일 또는 런트임시에 해석 된다.
2. 어노테이션 만들기
- 어노테이션은 다음과 같이 interface에 @를 붙여서 선언하고, 어노테이션이 적용될 대상과 동작 방식을 지정할 수 있다.
@Target(ElementType.Method)
@Retention(RetentionPolicy.RUNTIME)
Public @Interface MyAnnotation{
String str() default "";
}
- 여기서 Target은 어노테이션이 적용되는 대상을 의미하는데 ElementType의 요소 중에서 선택하여 지정한다.
주로 메서드를 만힝 사용하며 @Target 어노테이션에 사용되는 목록은 다음과 같다
어노테이션 요소 목록
대상 요소명 |
적용 대상 |
TYPE | 클래스 및 인터페이스 |
FIELD |
클래스의 멤버 변수 |
METHOD |
메서드 |
PARAMETER |
파라미터 |
CONSTRUCTOR |
생성자 |
LOCAL_VARIABLE |
지역변수 |
ANNOTATION_TYPE |
어노테이션 타입 |
PACKAGE |
패키지 |
TYPE_PARAMETER |
타입 파라미터 |
TYPE_USE |
타입 사용 |
- Retention은 어노테이션이 적용될 범위를 결정하는데 세 가지 유형이 있다.
○ Class : 어노테이션 작성시 기본값으로 클래스 파일에 포함되지만 JVM이 로드하지 않음
○ Runtime : 클래스 파일에 포함되고, JVM이 로드해서 리플렉션 API로 참조 가능하다.
○ Source : 컴파일 때만 사용되고, 클래스 파일에 포함되지 않는다.
'프로그래밍 > Spring & MyBatis' 카테고리의 다른 글
[Spring Framework]Bean 등록 방법 (0) | 2018.12.10 |
---|---|
[Spring Boot] 첨부파일 (0) | 2018.12.06 |
[Spring] logback 사용하기 (0) | 2018.12.06 |
[Spring Boot] 스프링 부트에서 JSP 사용하기 (0) | 2018.12.06 |
[Spring Framework] Spring Security CSRF 적용 (0) | 2018.11.30 |