1. 什么是AOP

    AOP:Aspect oriented Programming面向切面编程/面向方面编程,AOP提出横向抽取机制,将横切逻辑代码和业务逻辑代码分离
    横切逻辑代码:在多个纵向(顺序)流程中出现的相同子流程代码,我们称之为横切逻辑代码,横切逻辑代码的使用场景很有限:一般是事务控制、权限校验、日志、性能监控等
    Spring核心之AOP
  2. AOP解决了什么问题

    在不改变原有业务逻辑情况下,增强横切逻辑代码,根本上解耦合,避免横切逻辑代码重复
  3. 面向切面编程

    「切」:指的是横切逻辑,原有业务逻辑代码不变,只能操作横切逻辑代码,所以面向横切逻辑
    「面」:横切逻辑代码往往要影响的是很多个方法,每一个方法都如同一个点,多个点构成面,有一个面的概念在里面
  4. AOP相关术语

Spring核心之AOP
通俗来讲就是:
连接点:⽅法开始时、结束时、正常运⾏完毕时、⽅法异常时等这些特殊的时机点,我们称之为连接点,项⽬中每个⽅法都有连接点,连接点是⼀种候选点

切⼊点:指定AOP思想想要影响的具体⽅法是哪些,描述感兴趣的⽅法

Advice增强:第⼀个层次:指的是横切逻辑
第⼆个层次:⽅位点(在某⼀些连接点上加⼊横切逻辑,那么这些连接点就叫做⽅位点,描述的是具体的特殊时机)

Aspect切⾯:切⾯概念是对上述概念的⼀个综合
Aspect切⾯ = 切⼊点+增强
​ = 切⼊点(锁定⽅法)+ ⽅位点(锁定⽅法中的特殊时机)+ 横切逻辑
众多的概念,⽬的就是为了锁定要在哪个地⽅插⼊什么横切逻辑代码

相关文章: