Spring Framework использует, пожалуй, весь набор динамических свойств Java: Spring Boot-приложения грузятся своим загрузчиком классов, повсеместно используются reflection, порождение и загрузка Java-байткода на лету и т. д.
С другой стороны, в мире микросервисов набирает популярность статическая AOT-компиляция Java-приложений для решения проблем быстрого старта, предсказуемой производительности, мгновенного достижения пиковой производительности. Становится интересно: может ли динамичность Spring Framework ужиться со статической компиляцией? Ответ — да, может.
В этой презентации на примере поддержки Spring Boot-приложений в AOT-центричной JVM Excelsior JET показывается, как динамические свойства Java, используемые в Spring Framework, могут работать совместно с AOT-порожденным машинным кодом.