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

Spring注解配置AOP面向切面编程,第1张

第一步:
声明切面类 @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);
          }
}

测试效果截图:

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/735031.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-27
下一篇2022-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存