AOP概念
- Aspect(切面)
比如说事务、权限等,与业务逻辑没有关系的部分
- joinpoint(连接点)
目标类的目标方法。(由客户端在调用的时候决定)
- Pointcut(切入点)
所谓切入点是指我们要对那些拦截的方法的定义.
被纳入spring aop中的目标类的方法。
- Advice(通知)
所谓通知是指拦截到joinpoint之后所要做的事情就是通知.通知分为前置通知,后置通知,异常通知,最终通知,环绕通知(切面要完成的功能)
- Target(目标对象):
代理的目标对象
- Weaving(织入)
是指把切面应用到目标对象来创建新的代理对象的过程.切面在指定的连接点织入到目标对象
|
JDKProxy代理 |
SpringAop |
|
目标对象 |
目标对象 |
|
拦截器类 |
切面 |
|
拦截器类中的方法 |
通知 |
|
被拦截到的目标类中方法的集合 |
切入点 |
|
在客户端调用的方法(目标类目标方法) |
连接点 |
|
代理类 |
AOP代理 |
|
代理类的代理方法生成的过程 |
织入 |
通知根据拦截目标类中的目标方法的位置不一样可以分为:前置通知、后置通知、最终通知、环绕通知、异常通知
aop
代理对象的方法体就把事务和目标方法结合在一起了,这样做的目的就是为了让目标类的目标方法和事务的方法松耦合
Aop的概念
切面
事务、日志、安全性的框架,权限等就是切面
通知
切面中的方法就是通知
切入点
只有符合切入点的条件,才能让通知和目标方法结合在一起
织入
形成代理对象方法体的过程
好处:
事务、日志、安全性框架、权限、目标方法之间完全是松耦合的
浙公网安备 33010602011771号