说一下AOP都有哪些基本理念?
发布时间:2022-10-26 16:58:35
发布人:wjy
1. 横切关注点 对哪些方法进行拦截,拦截后怎么处理,这些关注点称之为横切关注点;
2. Aspect(切面) 通常是一个类,里面可以定义切入点和通知。
3. JoinPoint(连接点) 程序执行过程中明确的点,一般是方法的调用,被拦截到的点。因为Spring只支持方法类型的连接点,所以在Spring中连接点指的就是被拦截到的方法,实际上连接点还可以是字段或者构造器。
4. Advice(通知)AOP在特定的切入点上执行的增强处理,有before(前置)、after(后置)、afterReturning(最终)、afterThrowing(异常)、around(环绕)。
5. Pointcut(切入点) 带有通知的连接点,在程序中主要体现在书写切入点表达式。
6. weave(织入) 将切面应用到目标对象并导致代理对象创建的过程。
7. introduction(引入) 在不修改代码的前提下,引入可以在运行期为类动态地增加一些方法或字段。
8. AOP代理(AOP Proxy) AOP框架创建的对象,代理就是目标对象的加强。Spring中的AOP代理可以是JDK动态代理,也可以是CGLIB代理,前者基于接口,后者基于子类。
9. 目标对象(Target Object) 包含连接点的对象,也被称作被通知或被代理对象,POJO。