希望这个短小的文章 能帮助理解记忆相关概念
Aspect-oriented-programming AOP
Aspectn. 方面;方向;形势;外貌 the safety/security aspect 这里是切面的意思
Oriented adj. adj. 导向的;定向的;以…为方向的 导向的;定向的;以…为方向的 这里是面向的意思
Crossing-cutting-concern 横切关注点 散布于引用中的多处的功能 例如 日志 事务管理 缓存 安全
Inheritance n.继承;遗传;遗产
Delegation n.代表团;授权;委托
Aspect 切面就是 Crossing-cutting-concern 横切关注点的集合 模块化为类
Advice 描述切面要完成的工作内容 和 何时去完成
包括: before after after-throwing after-returning around
Join point 应用执行过程中能够插入切面的点
Pointcut 匹配通知要织入的连接点
Weaving 把切面应用到目标对象并创建新的代理对象过程 :编译期 类加载期运行期
在主业务程序的执行步骤中,需要附加功能,可以插入附加功能的位置为Joinpoint (以主业务角度来说)
插入的功能内容advice 以(before after after-throwing after-returning around )5种相对于主业务方法的时机执行,按照一定规则(比如正则)占用了Join point,这部分Join point对于这个附加功能来说,就叫做是这个附加功能的切点pointcut,有了advice(内容和时机)和pointcut(位置),这个功能就叫做 切面Aspect,Aspect附加到(Weaving)主业务流程可以在主业务流程对象不同生命周期实现,编译期(AspectJ),类加载器(AspectJ5),和运行期(SpringAOP)