spring AOP理解和相关术语

一、AOP理解

AOP:横向抽取机制,底层使用代理方式实现。

示例:

现有LogDAO接口以及实现Log接口的Log类。类有add的方法,现在要打印add方法的开始时间和结束时间。(即增强Log的add方法)

1.LogDao接口

2.Log类(委托类,实现具体的逻辑)

3.LogProxy类(静态代理类)

4.LogStaticFactory类(代理工厂)

通过代理工厂,用户在生成LogDao实例时就不用考虑用Log类还是LogPorxy类

5.TestAop类(测试类)和结果

通过创建代理类成功实现了对Log类的add方法增强,但需注意的是代理类必须实现Log类中所有的方法,这样当Log类方法特别多的时候,或者Log类中方法改变的时候就会使代码维护变得困难。这样便需要动态代理。

二、AOP操作术语

1.连接点:在类中可以被增强的方法称为链接点。

2.切入点:在实际操作中被增强的方法称为切入点。

3.通知/增强:对方法添加新功能,这些新功能叫做增强。

  (1)前置增强:在方法之前执行。

  (2)后置增强:在方法之后执行。

  (3)异常通知:在发生异常时执行。

  (4)最终通知:在后置之后执行。

  (5)环绕通知:既在方法前执行,也在方法后执行。

4.切面:把增强具体应用到切入点的过程称为切点。

原文地址:https://www.cnblogs.com/lolybj/p/6374824.html