Registering A Loadtimeweaver
Registrar un LoadTimeWeaver
Spring utiliza LoadTimeWeaver para transformar dinámicamente clases a medida que se cargan en la máquina virtual de Java (JVM).
Para habilitar el entretejido en tiempo de carga, puedes añadir @EnableLoadTimeWeaving a una de tus clases @Configuration, como muestra el siguiente ejemplo:
@Configuration
@EnableLoadTimeWeaving
public class AppConfig {
}
Como alternativa, en una configuración XML puedes utilizar el elemento context:load-time-weaver:
<beans>
<context:load-time-weaver/>
</beans>
Una vez configurado para el ApplicationContext, cualquier bean de ese ApplicationContext puede implementar LoadTimeWeaverAware y recibir una referencia a la instancia del weaver en tiempo de carga.
Esto resulta especialmente útil junto con el soporte JPA de Spring, donde el entretejido en tiempo de carga puede ser necesario para la transformación de clases JPA. Consulta el Javadoc de LocalContainerEntityManagerFactoryBean para obtener más detalles.
Para obtener más información sobre el entretejido en tiempo de carga de AspectJ, consulta la sección Load-time Weaving with AspectJ in the Spring Framework.