From 13d23747f8e0afdf8f256c161508b3ded4c42880 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Tue, 28 Oct 2025 14:27:27 +0800 Subject: [PATCH] =?UTF-8?q?tlias=E7=AE=A1=E7=90=86=E7=B3=BB=E7=BB=9F-sprin?= =?UTF-8?q?gAOP=E7=9A=84=E5=88=87=E5=85=A5=E7=82=B9=E8=A1=A8=E8=BE=BE?= =?UTF-8?q?=E5=BC=8Fexecution?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/inmind/aop/MyAspect2.java | 2 +- .../main/java/com/inmind/aop/MyAspect3.java | 2 +- .../main/java/com/inmind/aop/MyAspect4.java | 2 +- .../main/java/com/inmind/aop/MyAspect6.java | 35 +++++++++++++++++++ 4 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect6.java diff --git a/springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect2.java b/springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect2.java index 08e83ef..cd10b98 100644 --- a/springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect2.java +++ b/springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect2.java @@ -11,7 +11,7 @@ import org.springframework.stereotype.Component; @Slf4j @Component @Order(3) -@Aspect +//@Aspect public class MyAspect2 { @Before("execution(* com.inmind.service.impl.DeptServiceImpl.*(..))") diff --git a/springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect3.java b/springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect3.java index 70b7aea..3c2544f 100644 --- a/springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect3.java +++ b/springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect3.java @@ -11,7 +11,7 @@ import org.springframework.stereotype.Component; @Slf4j @Component @Order(2) -@Aspect +//@Aspect public class MyAspect3 { @Before("execution(* com.inmind.service.impl.DeptServiceImpl.*(..))") diff --git a/springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect4.java b/springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect4.java index 280a72f..d538d37 100644 --- a/springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect4.java +++ b/springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect4.java @@ -11,7 +11,7 @@ import org.springframework.stereotype.Component; @Slf4j @Component @Order(1) -@Aspect +//@Aspect public class MyAspect4 { @Before("execution(* com.inmind.service.impl.DeptServiceImpl.*(..))") diff --git a/springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect6.java b/springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect6.java new file mode 100644 index 0000000..5649031 --- /dev/null +++ b/springboot-aop-quickstart/src/main/java/com/inmind/aop/MyAspect6.java @@ -0,0 +1,35 @@ +package com.inmind.aop; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.stereotype.Component; + +//切面类 +@Slf4j +@Aspect +@Component +public class MyAspect6 { + + //DeptServiceImpl类中的delete方法 +// @Pointcut("execution(public void com.inmind.service.impl.DeptServiceImpl.delete(java.lang.Integer))") +// @Pointcut("execution(void com.inmind.service.impl.DeptServiceImpl.delete(java.lang.Integer))")//省略访问修饰符public +// @Pointcut("execution(void delete(java.lang.Integer))")//省略访问修饰符public 和包名,类名,但是不建议省略包名和类名,匹配范围过大,匹配多次delete方法 +// @Pointcut("execution(void com.inmind.service.DeptService.delete(java.lang.Integer))")//省略访问修饰符public,基于接口来写切入点表达式 +// @Pointcut("execution(void com.inmind.service.DeptService.*(java.lang.Integer))")//省略访问修饰符public,基于接口来写切入点表达式 +// @Pointcut("execution(* com.inmind.service.DeptService.*(..))")//匹配DeptService接口下的所有的方法(最常见的编写方式) +// @Pointcut("execution(* com.*.service.*.delete*(..))")//*可以匹配包,类,方法名,和它们的一部分 + + /*接下来有个小需求:需要匹配list和delete这2个方法,它们名称上没有相同的地方,参数列表也不同,一个有返回值,一个没返回值, + 那怎么用一个切入点表达式表示呢??*/ + + @Pointcut("execution(* com.inmind.service.DeptService.list())||execution(* com.inmind.service.DeptService.delete(java.lang.Integer))") + private void pt(){} + + @Before("pt()") + public void before(){ + log.info("MyAspect6 ... before ..."); + } + +}