Registering a LoadTimeWeaver

LoadTimeWeaver 由 Spring 用来在其被加载到 Java 虚拟机 (JVM) 时动态转换类。

你可以将 @EnableLoadTimeWeaving 添加到你的一个 @Configuration 类中以启用加载时编译,如下例所示:

  • Java

  • Kotlin

@Configuration
@EnableLoadTimeWeaving
public class AppConfig {
}
@Configuration
@EnableLoadTimeWeaving
class AppConfig

或者,对于 XML 配置,你可以使用 context:load-time-weaver 元素:

<beans>
	<context:load-time-weaver/>
</beans>

一旦为 ApplicationContext 配置后,该 ApplicationContext 内部的任何 bean 可能会实现 LoadTimeWeaverAware,从而接收对加载时 weaving 实例的引用。这在一个特定的组合中特别有用,其中,加载时 weaving 可能对于 JPA 类转换是必要的。有关更多详细信息,请参考 LocalContainerEntityManagerFactoryBean javadoc。有关 AspectJ 加载时 weaving 的更多信息,请参见 Load-time Weaving with AspectJ in the Spring Framework