From 6d767daf9e7b39be169ce4a86b186638b0e826fc Mon Sep 17 00:00:00 2001 From: wudi Date: Mon, 10 May 2021 17:40:05 +0800 Subject: [PATCH] =?UTF-8?q?Aspect=20=E5=88=87=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/annotation/AspectTest.java | 22 +++++++++ .../main/java/com/ruoyi/aspect/Aspects.java | 46 +++++++++++++++++++ .../web/controller/AspectController.java | 26 +++++++++++ 3 files changed, 94 insertions(+) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/annotation/AspectTest.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/aspect/Aspects.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/AspectController.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/annotation/AspectTest.java b/ruoyi-admin/src/main/java/com/ruoyi/annotation/AspectTest.java new file mode 100644 index 000000000..e17f15c09 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/annotation/AspectTest.java @@ -0,0 +1,22 @@ +package com.ruoyi.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * description: new java files...TODO + * @version v1.0 + * @author w + * @date 2021年5月10日下午5:29:30 + **/ +@Documented +@Inherited +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface AspectTest { + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aspect/Aspects.java b/ruoyi-admin/src/main/java/com/ruoyi/aspect/Aspects.java new file mode 100644 index 000000000..a0105e7f7 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/aspect/Aspects.java @@ -0,0 +1,46 @@ +package com.ruoyi.aspect; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.stereotype.Component; + +/** + * description: new java files...TODO + * @version v1.0 + * @author w + * @date 2021年5月10日下午5:29:43 + **/ +@Component +@Aspect +public class Aspects { + + /** + * description: 配置切点 + * @return void + * @version v1.0 + * @author w + * @date 2021年5月10日 下午4:13:32 + */ + @Pointcut(value = "@annotation(com.ruoyi.annotation.AspectTest)") + public void pointCut() { + + } + + /** + * description: 配置环绕 + * @param point + * @throws Throwable + * @return Object + * @version v1.0 + * @author w + * @date 2021年5月10日 下午4:25:51 + */ + @Around("pointCut()") + public void around(ProceedingJoinPoint point) throws Throwable { + System.out.println("========== 切面到l ======"); + point.proceed(); + + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/AspectController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/AspectController.java new file mode 100644 index 000000000..cbebd70d4 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/AspectController.java @@ -0,0 +1,26 @@ +package com.ruoyi.web.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +import com.ruoyi.annotation.AspectTest; +import com.ruoyi.common.core.domain.AjaxResult; + +/** + * description: 测试 @AspectTest + * @version v1.0 + * @author w + * @date 2021年5月10日下午5:32:01 + **/ +@RestController +public class AspectController { + + @AspectTest + @RequestMapping(value = "/AspectController") + @ResponseBody + public AjaxResult te() { + System.out.println("=========="); + return AjaxResult.success("AspectController"); + } +}