这种在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程
创建步骤:
1、注解方式:
创建一个当做切点的注解
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface TokenInject {
}
2、创建一个当做切面的类
@Order(0)
@Aspect
@Component
@Slf4j
public class AopToken {
// 捕获切点,可以是某个注解,也可以是某些类下的方法
@Pointcut("@annotation(com.kcxt.scrm.advanced.aop.annotation.TokenInject)")
或者 @Pointcut("execution(public * com.kcxt.scrm.advanced.controller.*Controller.*(..))")
public void token() {
}
// 执行切点下方法的前置方法
@Before("token()")
public void doBefore(JoinPoint joinPoint) {
}
}
}
3、在相关接口加上@TokenInject注解