El procesamiento de anotaciones en tiempo de ejecución utiliza la API de Reflection para descubrir anotaciones en clases, métodos, campos y parámetros y luego actuar en consecuencia. Así es como Spring descubre los beans @Component, cómo JUnit encuentra los métodos @Test y cómo Jackson asigna @JsonProperty a claves JSON, todo en tiempo de ejecución, sin generación de código.
Leer anotaciones mediante reflexión.