AOP

 1.AOP

1.1.       JDK动态代理

代理目标是接口--实现类的形式。如下形式:


代理后生成UserService接口的代理实现类。


测试:


1.2.       CGLIB动态代理

CGLIB可以对普通类做动态代理,但目标类不能是final,目标类里面的方法也不能是final



测试:

1.3.       spring的注解形式AOP

 

配置.xml文件aop标签提示:


1)  切面定义,创建一个类,在其上加上@Aspect注解

(1)  @Before,前置通知

前置通知因为不能控制目标方法不继续执行,所以不适合用来做方法执行前的判断,应使用环绕通知。


(2)  @After后置通知:

(3)  @AfterReturning返回通知

对业务方法的返回值进行处理


(4)  @AfterThrowing例外通知

主要用在运行期监控,获得项目的异常信息。


(5)  @Around环绕通知(常用):

可以实现前置通知,后置通知,返回通知,例外通知的所有功能


获得目标对象,通过模拟用户是否为null判断:


1.4.       spring的配置文件形式AOP

1)切面类:



2)  配置文件:



(1)      连接点(joinPoint):要拦截的方法

(2)      切点(pointcut):通知作用的范围

(3)      通知(advice):横切性关注点,在连接点前后或异常情况来做的事情,前置通知,后置通知,返回通知,例外通知,环绕通知

(4)切面(Aspect):横切性关注点(advice)的集合。

(5)目标对象(target):代理的目标对象

(6)织入(weave):切面应用到target对象并且导致proxy对象创建的过程叫织入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值