spring|Spring注解配置AOP面向切面编程

第一步:
声明切面类 @Aspect(切面)通常是一个类,里面可以定义切入点和通知

@Configuration //告诉Spring,这是一个切面类,里面可以定义切入点和通知 @Aspect public class LogAdvice { //切入点表达式 @Pointcut("execution(* work.yspan.sp.service.VideoServiceImpl.*(..))") public void aspect(){ } //前置通知 @Before("aspect()") public void beforeLog(JoinPoint joinPoint){ System.out.println("LogAdvice beforeLog"); } //后置通知 @After("aspect()") public void afterLog(JoinPoint joinPoint){ System.out.println("LogAdvice afterLog"); } }

【spring|Spring注解配置AOP面向切面编程】第二步:配置专门用于aop配置扫描类
@Configuration @ComponentScan("work.yspan") @EnableAspectJAutoProxy//开启了spring对aspect的支持 public class AnnotationAppConfig { }

测试代码:
public class App { public static void main(String[] args){ AnnotationConfigApplicationContext context=newAnnotationConfigApplicationContext(AnnotationAppConfig.class); VideoService videoService=(VideoService) context.getBean("videoService"); videoService.findById(54); } }

测试效果截图:
spring|Spring注解配置AOP面向切面编程
文章图片

    推荐阅读