【Spring】使用aop切面编程时要给那些类加注解
在Spring中,使用AOP切面编程时,通常会创建一个切面类,并在这个类上添加@Aspect
注解。这个类会包含一些通知(Advice),比如前置通知(@Before
)、后置通知(@AfterReturning
)、异常通知(@AfterThrowing
)、最终通知(@After
)和环绕通知(@Around
)。
以下是一个简单的切面类示例:
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class MyAspect {
// 前置通知
@Before("execution(* com.example.service.*.*(..))")
public void beforeAdvice() {
System.out.println("Before method execution");
}
}
在这个例子中,@Aspect
注解被加到了MyAspect
类上,表示这是一个切面类。@Before
注解表示beforeAdvice
方法是一个前置通知,它会在匹配的方法执行之前执行。
给哪些类加@Aspect
注解取决于你想要在哪些类的方法执行前、后或周围进行拦截和增强。通常,你会创建一个新的类,并在这个类上加上@Aspect
注解,然后定义通知方法。
评论已关闭