자바 주석 분석
그동안 자바 의 사용자 정의 주 해 를 알 고 싶 었 습 니 다. 면접 때 도 비슷 한 문제 가 있 었 습 니 다. 오늘 은 드디어 공부 할 시간 이 있 습 니 다.
본문
주석 (주석) 개념
주 해 는 자바 SE 5.0 버 전이 도입 되 기 시작 한 개념 으로 자바 소스 코드 에 대한 설명 이 며 메타 데이터 (데 이 터 를 설명 하 는 데이터) 입 니 다.
주해 와 주해 의 차이
왜 주해 가 나 왔 습 니까?
주 해 를 자주 사용 하기 전에 xml 로 메타 데이터 로 사 용 됩 니 다. 처음에 ssm (Spring, SpringMVC, Mybatis) 프레임 워 크 를 사 용 했 을 때 bean 과 bean 간 의 의존 관 계 는 xml 파일 을 통 해 설정 되 었 습 니 다. 이 xml 파일 과 소스 코드 가 분산 되 었 습 니 다. 마이크로 서비스, 분포 식 주해 가 유행 하면 서 시스템 이 점점 커지 고 xml 파일 로 관 리 를 설정 해 야 합 니 다.파일 설정 이 지루 하고 형식 이 안전 하지 않 습 니 다. (실행 기간 에 오류 가 발생 합 니 다) 이 때 는 비교적 간단 하고 직관 적 이 며 유형 이 안전 한 설정 방식 이 필요 합 니 다. 주 해 는 이에 따라 생 겨 납 니 다. Springboot 의 '설정 보다 약속 이 많 습 니 다' 방식 에 따라 주 해 를 통 해 그 의 미 를 약정 하고 xml 설정 파일 의 수량 을 줄 입 니 다. 자주 변동 하거나 복잡 한 설정 을 설정 할 때 xml 파일 을 사용 하 는 것 이 적당 하기 때문에 지금 은 주석 과 xml 방식 이 공존 합 니 다.
주해 분류
주 해 는 @ 로 시작 합 니 다. 저 희 는 응용 프로그램 에서 다양한 주 해 를 볼 수 있 습 니 다. 예 를 들 어 @ Autowired, @ Service, @ Controller, @ Override, @ Test, @ Value 등 이 있 습 니 다. 출처 에 따라 JDK 의 주해, 제3자 의 주해, 사용자 정의 주해 로 나 눌 수 있 습 니 다.
프로그램 코드 에서 자주 볼 수 있 는 @ 로 시작 하 는 것 은 대부분 주석 입 니 다.
주해 정의 형식
@interface {
1
2
}
주석 요소 성명 의 두 가지 형식
type elementName();
type elementName() default value;
주해 정의 실례
@ Service 주 해 를 살 펴 보 겠 습 니 다.
// ElementType.TYPE
@Target({ElementType.TYPE})
// RetentionPolicy.RUNTIME ,
@Retention(RetentionPolicy.RUNTIME)
// JavaDoc
@Documented
//
@Component
public @interface Service {
/**
* The value may indicate a suggestion for a logical component name,
* to be turned into a Spring bean in case of an autodetected component.
* @return the suggested component name, if any (or empty String otherwise)
*/
@AliasFor(annotation = Component.class)
String value() default "";
}
주석 주석
package java.lang.annotation;
/**
* The common interface extended by all annotation types. Note that an
* interface that manually extends this one does not define
* an annotation type. Also note that this interface does not itself
* define an annotation type.
*
* More information about annotation types can be found in section 9.6 of
* The Java™ Language Specification.
*
* The {@link java.lang.reflect.AnnotatedElement} interface discusses
* compatibility concerns when evolving an annotation type from being
* non-repeatable to being repeatable.
*
* @author Josh Bloch
* @since 1.5
*/
public interface Annotation {
}
# The common interface extended by all annotation types.Also note that this interface does not itself define an annotation type.
# Annotation , 。
즉, 우리 가 본 모든 주 해 는 기본적으로 Annotation 인 터 페 이 스 를 실현 한 인터페이스 이다.
참고 문장
https://segmentfault.com/a/1190000018209300 https://blog.csdn.net/qq_36762677/article/details/82469741
총결산
어디서나 주 해 를 볼 수 있 는 이 시대 에 주 해 를 알 아야 합 니 다. 읽 어 주 셔 서 감사합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 주석 분석주 해 는 자바 SE 5.0 버 전이 도입 되 기 시작 한 개념 으로 자바 소스 코드 에 대한 설명 이 며 메타 데이터 (데 이 터 를 설명 하 는 데이터) 입 니 다. 마이크로 서비스, 분포 식 주해 가 유행 하면...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.