AOP零配置搭建以及失效的原因

本文介绍了AOP的零配置设置,包括切面类需使用@Aspect和@Component注解,以及配置类需使用@Configuration、@ComponentScan和@EnableAspectJAutoProxy来开启AOP代理。同时,文章探讨了AOP失效的情况,当被切面类内部通过this调用自身方法时,由于不是代理对象,会导致AOP失效。
摘要由CSDN通过智能技术生成

一、AOP零配置

  1. 切面类要用@Aspect(表明该类作为切面)和@Component(表明将此类注入到spring的容器中)注解上
  2. 配置类,要用上@Configuration(保证bean的作用域)和@ScanComponent(所要扫描的包)及@EnableAspectJAutoProxy( 开启AOP代理自动配置,参数proxyTargetClass默认为false表示jdk动态代理,true为cglib代理, 但是如果不设置或者设置为false,但是代理的类没有实现接口的话也是cglib代理。)

二、AOP失效

  当一个被切面切到的类调用自身的this的时候,就是该类本身的对象,而不是代理对象,所以在内部调用this调用该类的其他方法的时候就会失效。
在这里插入图片描述

 AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext(ServConfig
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值