Обработка аннотаций во время выполнения использует Reflection API для обнаружения аннотаций на классах, методах, полях и параметрах, а затем действует на их основе. Именно так Spring обнаруживает бины @Component, JUnit находит методы @Test, а Jackson отображает @JsonProperty в ключи JSON — всё во время выполнения, без генерации кода.
Чтение аннотаций через рефлексию