AnnotationProcessor
🛠 AnnotationProcessor
정의
AnnotationProcessor는 Java 컴파일 시점에 애너테이션을 분석하고 추가 코드를 생성하거나 검증하는 처리기이다. 소스 코드가 컴파일될 때 동작하는 컴파일 타임 Hook으로 볼 수 있다.
🧩 역할
- 애너테이션을 분석한다
- 컴파일 시점에 코드 생성을 수행한다
- 유효성 검사를 한다
- Lombok, Querydsl 같은 도구의 기반이 된다
🛠 사용 예시
코드 생성
Querydsl의 Q타입 생성Lombok의 getter/setter 생성
검증
- 애너테이션 사용 규칙 확인
- 필수 속성 누락 여부 검사
🧩 특징
- 소스코드가 실행되기 전에 동작한다
- IDE가 아니라 컴파일러 단계에서 처리된다
- 코드 반복을 줄이고 보일러플레이트를 감소시킨다
- 잘못 설정되면 생성 코드가 나오지 않을 수 있다
⚠️ 주의사항
- 컴파일 설정에 따라 동작 여부가 달라질 수 있다.
- IDE에서 인식하지 못하면 Annotation Processing 설정을 확인해야 한다.
- Querydsl처럼 생성 코드가 필요한 경우 빌드 단계와 소스 생성 경로를 맞춰야 한다.
- 애너테이션이 많다고 모두 처리되는 것은 아니므로 각 프로세서 역할을 구분해야 한다.
📌 정리
AnnotationProcessor는 컴파일 시점에 애너테이션을 처리하는 도구다.- 코드 생성과 규칙 검증에 사용된다.
Lombok,Querydsl같은 라이브러리의 핵심 기반이다.
댓글남기기