第一步:
声明切面类 @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");
}
}
第二步:配置专门用于aop配置扫描类
@Configuration
@ComponentScan("work.yspan")
@EnableAspectJAutoProxy//开启了spring对aspect的支持
public class AnnotationAppConfig {
}
测试代码:
public class App {
public static void main(String[] args){
AnnotationConfigApplicationContext context=new AnnotationConfigApplicationContext(AnnotationAppConfig.class);
VideoService videoService=(VideoService) context.getBean("videoService");
videoService.findById(54);
}
}
测试效果截图:
版权声明:本文为weixin_43432438原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。