티스토리 뷰

Java

Java - 애노테이션 프로세서 정리

사용자 엔꾸꾸 2019. 11. 18. 22:30

애노테이션 프로세서 정리

애노테이션 프로세서

  • 소스코드 레벨에서 소스코드에 붙어있는 애노테이션 정보를 읽어, 컴파일러가 컴파일 중에 새로운 소스를 생성하거나, 변경(권장하지않음)이 가능하다.

  • 소스코드와 별개의 리소스 파일도 생성이 가능한 강력한 기능

  • 롬복

  • AutoService

    • java.utilServiceLoader용 파일 생성 유틸리티
    • 리소스 파일을 만들어준다.
  • @Override

    • Java5에서 기본제공 되던 애노테이션 프로세서
    • 실제로 인터페이스나 상위클래스를 구현하는지 판단해준다.
  • Dagger2

    • 컴파일 타임 DI 제공

장점

  • Java agent를 사용하는 바이트코드 조작은 런타임시 발생하는 일이기 때문에, 애플리케이션 구동 등의 시점에 추가적인 비용이 발생한다.
  • 컴파일 시점에 조작하기 때문에 런타임시 비용이 제로이다.

단점

  • 기존의 코드를 고치는 방법은 public한 API를 제공하지 않는다.
댓글
댓글쓰기 폼
공지사항
Total
75,663
Today
179
Yesterday
201
링크
TAG
more
«   2021/12   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
글 보관함