@Around("")
时间: 2023-11-21 10:44:47 浏览: 61
@Around是一个注解,在Spring AOP中用来标记一个方法作为环绕通知。环绕通知可以在目标方法执行之前和之后织入增强动作,还可以决定目标方法是否执行以及如何执行。它还可以改变目标方法的参数值和返回值。使用@Around注解声明的方法必须满足一些规范,例如访问权限是public,方法有返回值,方法名称自定义,方法有参数,并且回避异常Throwable。
下面是一个使用@Around注解的例子:
```java
@Aspect
@Component
public class MyAspect {
@Around(value = "execution(* com.example.MyClass.myMethod(..))")
public Object myAround(ProceedingJoinPoint pjp) throws Throwable {
// 在目标方法之前执行的逻辑
System.out.println("执行目标方法之前的逻辑");
// 调用目标方法
Object result = pjp.proceed(pjp.getArgs());
// 在目标方法之后执行的逻辑
System.out.println("执行目标方法之后的逻辑");
// 修改目标方法的返回值
result = result.toString().toUpperCase();
return result;
}
}
```
以上代码是一个使用@Around注解的切面类。在切面类的myAround方法中,我们可以编写在目标方法执行之前和之后需要执行的逻辑。在这个例子中,我们在目标方法之前打印一条消息,然后调用目标方法,之后再打印一条消息,并将目标方法的返回值转换为大写。
阅读全文