Spring AOP的个人理解

23 阅读1分钟

spring aop的主要原理是通过代理模式去动态织入切面,简单点理解就是把一些非业务的重复代码,如日志记录,从业务代码中抽离出去,然后用aop把这些代码统一应用到业务代码具体的业务切入点 切面(aspect):需要@aspect声明的代码,表示需要额外执行的非业务操作 通知(Advice):通知表示在方法执行前后需要执行的动作。Spring切面可以执行一下五种类型的通知: ·before(前置通知):在一个方法之前执行的通知。 ·after(最终通知):当某连接点退出的时候执行的通知(不论是正常返回还是异常退出) ·after-returning(后置通知):在某连接点正常完成后执行的通知。 ·after-throwing(异常通知):在方法抛出异常退出时执行的通知 ·around(环绕通知):在方法调用前后触发的通知。 切入点(Pointcut):切入点是一个或一组连接点,通知将在这些位置执行。可以通过表达式或匹配的方式指明切入点,通常在通知的参数里。 引入:引入允许我们在已有的类上添加新的方法或属性。 目标对象:被一个或者多个切面所通知的对象。它通常是一个代现对象。也被称做被通知(advised)对象。 代理:代理是将通知应用到目标对象后创建的对象。从客户端的角度看,代理对象和目标对象是一样的。