개발놀이터
@Target, @Retention 본문
ElementType.ㅇ어노테이션을 만들 때 사용하는 어노테이션들이다. 어노테이션을 이용한 포인트컷을 구현할 때 등장했으며 궁금하기때문에 포스팅으로 남긴다.
구글링해보니 그렇게 어려운 내용은 아니었다.
@Target
@Target은 자신이 만든 어노테이션이 사용되게 될 자바 요소를 지정할 수 있다.
Target의 속성으로는
ElementType.ANNOTATION_TYPE
ElementType.CONSTRUCTOR
ElementType.FIELD
ElementType.LOCAL_VARIABLE
ElementType..METHOD
ElementType.PACKAGE
ElementType.PARAMETER
ElementType.TYPE
이렇게 여덟가지이다. 내가 주로 사용하게될 타겟은 메서드로 보인다. 메서드 레벨에 붙일 어노테이션은 ElementType.METHOD를 붙이면 되고 클래스 레벨에 붙일 어노테이션은 ElementType.TYPE을 붙이면 된다.
@Retention
Retention은 얼마나 오랫동안 어노테이션 정보가 유지되는지 설정할 수 있다.
내가 자주 사용할 속성은 RUNTIME이다. 대부분의 어노테이션이 RUNTIME을 달고 있다.
'Spring > Spring' 카테고리의 다른 글
트랜잭션과 @Transactional (0) | 2022.06.21 |
---|---|
커넥션 풀 (Connection pool) (0) | 2022.06.21 |
스프링 AOP - 실전 예제 (0) | 2022.01.24 |
스프링 AOP - 포인트컷 (0) | 2022.01.24 |
@Aspect (0) | 2022.01.20 |