Spring AOP 03 术语

AOP概念:
1. aop面向切面编程, 扩展功能不修改源代码实现
2. aop采起横向抽取机制, 取代了传统的纵向继承体系重复性代码spring

AOP做用: 在程序运行期间, 不修改源码对已有的方法进行加强
AOP优点:减小重复代码 提升开发效率 维护方便 
编程

Spring 能帮咱们作的:
须要咱们本身作的: 加强的方法必须本身写 在什么执行这些加强的方法 对业务层那些方法进行加强

Spring中AOP: 框架类会根据目标类是否实现了接口来选择不一样动态代理技术框架

AOP中的术语:

Joinpoint 链接点: 是指那些被拦截到的点, 在spring中 这些点指的是方法 由于spring中只支持方法类型的链接点
  具体: 业务层接口全部的方法都是链接点 好比ICustomerService中的 findAllCustomer(), saveCustomer()
Pointcut 切入点:指咱们要哪些Jointpoint进行拦截定义
  具体:被加强的方法就是切入点 没有被加强的方法不是切入点 切入点必定是链接点 链接点不必定是切入点
  好比下面代码: 除了test方法 ICustomerService中的其余方法都是切入点spa

Advice 通知/加强: 指拦截到Joinpoint以后所要作的事情就是通知
  通知的类型: 前置通知, 后置通知 异常通知 最终通知 环绕通知
  具体:加强方法就是通知 好比TransactionManager中的方法就是通知代理

Introduction 引介: 一种特殊的通知 在不修改类代码的前提下 Introduction能够在运行期间为类动态的添加一些方法或Field 通常不用
Target 目标对象: 代理的目标对象对象

Weaving 织入: 把加强应用到目标对象来建立新的代理对象的过程 spring采用动态代理织入 而AspectJ采用编译和类装载织入 一个抽象的概念 也就是加强的代码一开始执行 就是weaving
Proxy 代理:一个类被AOP织入加强后 就产生了一个结果代理类 proxyCs就是代理
Aspect 切面: 是切入点和通知(引介)的结合 就是说明加强的方法在何时执行blog

思考: 若是不使用Spring AOP技术 咱们要怎么实现程序运行期间, 不修改源码对已有的方法进行加强继承

相关文章
相关标签/搜索