AOP 编程模式
- 是什么?
- 是一种编程模式,Spring AOP 是基于 AOP 编程模式的一种框架,
- 作用:
- 它的使用有效的减少了系统间的重复代码,达到了模块间送耦合的目的
- 怎么使用?
- 采取横向抽取机制,取代了传统纵向继承体系的重复性代码,
- 应用在哪里?
- 主要体现在事务处理、日志管理、权限管理、异常处理等方面
- 目前流行的 AOP 框架:
- Spring AOP
- 使用纯 Java 实现,不需要专门的编译过程和类加载器,在运行期间通过代理方式向目标类植入增强的代码
- AspectJ
- AspectJ 是一个基于 Java 语言的 AOP 框架,从 Spring 2.0 开始,Spring Aop 映入了对 AspectJ 的支持,AspectJ 扩展了 Java 语言,提供了一个专门的编译器,在编译时提供横向代码的植入
- 相关术语
- 1、Joinpoint (连接点)
- 指那些被拦截到的点,在 Spring 中,可以被动态代理拦截目标类的方法
- 2、Pointcut (切入点):
- 指要对那些 Joinpoint 进行拦截,即被拦截的连接点
- 3、Advice (通知):
- 指拦截到 jonipoint 之后要做的事情,即对切入点增强的内容
- 4、Target (目标):
- 5、Weaving(植入):
- 6、Proxy (代理):
- 7、Aspect (切面):