Spring Aop切面类

Time: 2024-05-16 Thursday 11:02:01
Author: Jackasher

Spring Aop切面类

通过注解表示该方法的增强类型,并制定Aop的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package org.example.service;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.*;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
* @author Jackasher
* @version 1.0
* @className LogAspect
* @since 1.0
**/

@Component
@Aspect
@Order(2)
public class LogAspect {

//定义通用切点表达式
@Pointcut("execution (* org.example.service.UserService.*(..))")
public void genernalAspect(){

}

//前置通知
@Before("genernalAspect()")
public void advice(){
System.out.println("我是一个前置通知");
}
//后置通知
@AfterReturning("execution (* org.example.service.UserService.*(..))")
public void afterReturningAdvice(){
System.out.println("我是一个后置通知");
}
//环绕通知
@Around("execution (* org.example.service.UserService.*(..))")
public void aroundAdvice(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
System.out.println("前环绕");
proceedingJoinPoint.proceed();
System.out.println("后环绕");

}
//异常通知
//最终通知
@After("execution (* org.example.service..*(..))")
public void afterAdvice(){
System.out.println("最终通知");

}
}


Spring Aop切面类
http://example.com/2025/04/28/Spring Aop切面类/
作者
Jack Asher
发布于
2025年4月28日
许可协议