Introduction to Ahead of Time Optimizations
애플리케이션 컨텍스트를 빌드 시점에 검사하고 런타임에 발생하는 일들을 일부 미리 해둠으로써 최적화하는것
이런 기능을 사용하면 다음과 같은 제한 사항이 생긴다.
- 클래스 패스가 고정되어 있고 빌드 시점에 완전히 정의되어있어야한다.
- 애플리케이션에서 정의된 빈을 런타임에 변경할 수 없다.
- @Profile 이 빌드 시점에 고려된다.
- @Conditional 같은 조건들이 빌드 시점에만 고려된다.
AOT 처리된 애플리케이션은 일반적으로 다음과 같은 항목을 생성한다.
- 자바 소스코드
- 바이트코드 (동적 프록시를 위한 것)
- 리플렉션, 리소스 로딩, 직렬화, JDK 프록시 사용을 위한 RuntimeHints
AOT engine overview