SpringBoot支持Spring中的注解AOP配置,而且配置简单只需要几步即可
1.导入SpringBoot与AOP集成jar包
在pom.xml文件中加入
<!--spring boot与AOP集成jar包--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>
2.AOP注解
@Aspect用在类上,代表这个类是一个切面
@Before用在方法上代表这个方法是一个前置通知
@After用在方法上代表这个方法是一个后置通知
@Around用在方法上代表这个方法是一个环绕通知
@Configuration用于定义配置类
3.开发AOP类和方法
(1)开发一个前置AOP
@Aspect @Configuration public class BeforeAspect { /* * 前置通知方法 * */ @Before("execution(* com.baizhi.service.*.*(..))") public void before(JoinPoint joinPoint){ System.out.println("目标方法执行之前执行"); } }
(2)开发一个后置AOP
@Aspect @Configuration public class AfterAspect { @After("execution(* com.baizhi.service.*.*(..))") public void before(JoinPoint joinPoint){ System.out.println("目标方法执行之后执行"); } }
(3)开发一个环绕AOP
@Aspect @Configuration public class AroundAspect { @Around("execution(* com.baizhi.service.*.*(..))") public Object around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable { System.out.println("around before"); Object proceed = proceedingJoinPoint.proceed(); System.out.println("方法名:"+proceedingJoinPoint.getSignature().getName()); System.out.println("目标参数:"+proceedingJoinPoint.getArgs()); System.out.println("目标对象:"+proceedingJoinPoint.getTarget()); System.out.println("目标对象:"+proceedingJoinPoint.getThis()); System.out.println("around after"); return proceed; } }
来源:https://www.cnblogs.com/henuLiGang/p/9259869.html