AOP初识
来源:互联网 发布:韩国人种相貌 知乎 编辑:程序博客网 时间:2024/06/10 07:02
AOP是什么
AOP (Aspect-Oriented Programming) 面向切面编程。
AOP相关概念
切面(Aspect):一个关注点的模块化,这个关注点实现可能另外横切多个对象。事务管理是J2EE应用中一个很好的横切关注点例子。方面用spring的 Advisor或拦截器实现。
连接点(Joinpoint): 程序执行过程中明确的点,如方法的调用或特定的异常被抛出。
通知(Advice): 在特定的连接点,AOP框架执行的动作。各种类型的通知包括“around”、“before”和“throws”通知。通知类型将在下面讨论。许多AOP框架包括Spring都是以拦截器做通知模型,维护一个“围绕”连接点的拦截器链。Spring中定义了四个advice: BeforeAdvice, AfterAdvice, ThrowAdvice和DynamicIntroductionAdvice
切入点(Pointcut): 指定一个通知将被引发的一系列连接点的集合。AOP框架必须允许开发者指定切入点:例如,使用正则表达式。 Spring定义了Pointcut接口,用来组合MethodMatcher和ClassFilter,可以通过名字很清楚的理解, MethodMatcher是用来检查目标类的方法是否可以被应用此通知,而ClassFilter是用来检查Pointcut是否应该应用到目标类上
引入(Introduction): 添加方法或字段到被通知的类。 Spring允许引入新的接口到任何被通知的对象。例如,你可以使用一个引入使任何对象实现 IsModified接口,来简化缓存。Spring中要使用Introduction, 可有通过DelegatingIntroductionInterceptor来实现通知,通过DefaultIntroductionAdvisor来配置Advice和代理类要实现的接口
目标对象(Target Object): 包含连接点的对象。也被称作被通知或被代理对象。POJO
AOP代理(AOP Proxy): AOP框架创建的对象,包含通知。 在Spring中,AOP代理可以是JDK动态代理或者CGLIB代理。
织入(Weaving): 组装方面来创建一个被通知对象。这可以在编译时完成(例如使用AspectJ编译器),也可以在运行时完成。Spring和其他纯Java AOP框架一样,在运行时完成织入。
AOP的实现方式
1.经典的基于代理的AOP
2.@AspectJ注解驱动的切面
3.纯POJO切面
4.注入式AspectJ切面
- 初识AOP
- 初识AOP
- AOP初识
- 初识AOP
- 初识--AOP
- 初识AOP
- 初识IoC、DI、AOP
- Spring中AOP初识
- Spring 4初识aop
- 初识Spring——AOP
- 注解式 Spring AOP初识
- 初识AOP面向切面编程
- Spring揭秘(十)——初识AOP
- 初识
- 初识
- 初识
- AOP
- AOP
- Android UI 设计参考资源
- 条件运算符的使用(Java)
- Python-条件判断和循环
- ZOJ-3870 Team Formation(位运算)
- 国内首家多点触摸电容屏驱动课程上线啦!
- AOP初识
- bzoj1197: [HNOI2006]花仙子的魔法
- 大数据、云计算系统高级架构师课程学习路线图
- UIImageView设置圆角不触发离屏渲染的方法
- Java 并发编程大合集
- 转自一个计算机毕业生的求职经验
- centos 搭建node服务器
- Redis 分片遇到的问题
- Android开发--mark