메타 어노테이션
@Target
- 어노테이션을 적용할 대상을 지정
- ElementType
CONSTRUCTOR // 생성자 선언부
FIELD // enum포함 필드선언부
LOCAL_VARIABLE // 지역변수 선언부
METHOD // 메소드 선언부
PACKAGE // 패키지 선언부
PARAMETER // 파라메터 선언부
TYPE // 클래스, 인터페이스, enum 선언부
@Retention
- 어노테이션 정보가 보관되는 기간을 지정
- RetentionPolicy
SOURCE // 어노테이션이 컴파일러에서 버려짐
CLASS // 클래스안의 어노테이션은 사용되지만 VM에서는 버려짐
RUNTIME // VM에서 유지가 되므로 리플렉션으로 활용 가능
@Documented
- Javadoc에 포함
@Inherited
- 서브클래스 부모 어노테이션을 상속
활용 Exam
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Handler {
String value();
String name();
}
///
private void base(Handler annotation) {
Preconditions.checkNotNull(annotation);
name = annotation.name();
path = annotation.value();
}
///
'java' 카테고리의 다른 글
InputStream을 파일로 저장 (0) | 2013.11.01 |
---|---|
동일성 동등성 == equals (0) | 2013.05.22 |
리플렉션 메소드 사용, reflection (0) | 2013.05.06 |
java 연산자 기호표 (0) | 2012.09.26 |
can not find the tag library descriptor for http //java.sun.com/jsp/jstl/core (4) | 2012.07.03 |