一:首先导入依赖,集成SpringBoot只需要导入这一个依赖就够了
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
二:创建一个类,将这个类变为切面
@Aspect 将该类变为一个切面
@Component --将该类注册到Spring的容器里面
@Aspect
@Component
public class Aop {
@Pointcut("execution(* cn.jiabao.controller.demo.*(..))")
public void cut(){
}
@Before("cut()")
public void doBefore() {
System.out.println("123");
}
}
@Pointcut 代表贴了这个注解的方法就是一个切面的方法,后面是表达式,代表这个类里面的方法,全部切面了 cut 这个方法就是一个假类,给后面其他注解进行引用的
@Before(“cut()”) 在被切的上方法,前加入、执行该方法
三 AOP 相关注解
Spring支持AspectJ的注解式切面编程。
@Aspect 声明一个切面(类上)
使用@After、@Before、@Around定义建言(advice),可直接将拦截规则(切点)作为参数。
@After 在方法执行