개발놀이터

@Target, @Retention 본문

Spring/Spring

@Target, @Retention

마늘냄새폴폴 2022. 1. 24. 19:49

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