自定义注解
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface AOPExecutiveOrder {
}
Aspect配置
@Component
@Aspect
@Slf4j
public class AOPExectiveOrderAspect {
@Pointcut(value = "@annotation(com.selflearn.customannotation.cusannotation.AOPExecutiveOrder)")
public void pointCut() {
}
@Before(value = "pointCut()")
public void beforePointCut() {
log.info("前置advice执行!!!");
}
@After(value = "pointCut()")
public void afterPointCut() {
log.info("后置advice执行!!!");
}
@AfterReturning(value = "pointCut()")
public void afterReturingPointCut() {
log.info("返回advice执行!!!");
}
@Around(value = "pointCut()