어노테이션 | 영어사전: 주석, extra information 1. built-in 어노테이션 : Java 코드에 적용되는 어노테이션 ex) @Overried, @Deprecated, @SuppressWarnings, @SafeVarargs, @FunctionalInterface 2. Meta 어노테이션 : 다른 어노테이션에 적용되기 위한 어노테이션(custom-annotation 생성 시) ex) @Retention, @Documented, @Target... |
meta-annotaiton | custom-annotation(커스텀 어노테이션) 생성할 때 주로 사용. cf) Meta-Data : 데이터에 대한 데이터 |
@SpringBootApplication | @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan( excludeFilters = {@Filter( type = FilterType.CUSTOM, classes = {TypeExcludeFilter.class} ), @Filter( type = FilterType.CUSTOM, classes = {AutoConfigurationExcludeFilter.class} )} ) public @interface SpringBootApplication { |
@Target | Java compiler 가 annotation이 어디에 적용될지 결정하기 위해 사용. ElementType.PACKAGE : 패키지 선언 ElementType.TYPE : 타입 선언 ElementType.ANNOTATION_TYPE : 어노테이션 타입 선언 ElementType.CONSTRUCTOR : 생성자 선언 ElementType.FIELD : 멤버 변수 선언 ElementType.LOCAL_VARIABLE : 지역 변수 선언 ElementType.METHOD : 메서드 선언 ElementType.PARAMETER : 전달인자 선언 ElementType.TYPE_PARAMETER : 전달인자 타입 선언 ElementType.TYPE_USE : 타입 선언 출처 : https://sanghye.tistory.com/39 |
@Retention | Annotation 이 실제로 적용되고 유지되는 범위 RetentionPolicy.SOURCE 소스코드(.java)까지 RetentionPolicy.CLASS 클래스파일(.java) 까지 RetentionPolicy.RUNTIME 런타임 까지 https://jeong-pro.tistory.com/234 |
@Documented | 해당 어노테이션을 javadoc에 포함시킴 |
@Inherited | 어노테이션의 상속 허용 |
@Repeatable | java8부터 연속적으로 어노테이션 선언가능 |
'JAVA' 카테고리의 다른 글
카페24 jsp 호스팅 (0) | 2022.07.26 |
---|---|
[1028web JSTL ]커스텀 라이브러리 (0) | 2022.03.19 |
VelocityEngine (0) | 2022.02.19 |
Java 프로그래밍 언어의 코드 규칙, java 표준 코딩 (0) | 2021.12.16 |