Spring AOP 对 @AspectJ 的支持
AspectJ 是一个使用java语言编写的AOP框架,是AOP 思想的落地。AspectJ 是一个功能非常完整的AOP框架。AspectJ 里既支持对方法的建言,也支持对字段的建言。
Spring AOP 框架也是AOP 思想的落地框架,Spring AOP 引入了AspectJ,并且结合自己的特点,对 AspectJ 的功能做了适当的裁剪和补充。
在Spring 中使用AspectJ,可以通过Xml 配置或者注解进去启用。
xmlp配置启用方式为:
<aop:aspectj-autoproxy/>
注解方式为:
@Configuration
@EnableAspectJAutoProxy
public class AppConfig {
}
还需要把 aspectjweaver.jar 放到类路径中。一般,如果不使用 Spring Boot 的话,需要使用maven pom.xml 依赖,
<properties> <spring-version>5.2.8.RELEASE</spring-version> </properties>
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring-version}</version> </dependency>
@EnableAspectJAutoProxy 可以放在任意类上,都能开启 @AspectJ 的支持。