Spring框架学习—Spring AOP
AOP本质
:在不改变原有业务逻辑的情况下增强横切逻辑,横切逻辑代码往往是权限校验代码、⽇志代
码、事务控制代码、性能监控代码。
1. 下图描述的就是未采⽤AOP思想设计的程序,当我们红⾊框中圈定的⽅法时,会带来⼤量的重复劳动。程序中充斥着⼤量的重复代码,使我们程序的独⽴性很差。
2. 下图中是采⽤了AOP思想设计的程序,它把红框部分的代码抽取出来的同时,运⽤动态代理技术,在运⾏期对需要使⽤的业务逻辑⽅法进⾏增强。
3.AOP 术语
连接点
:⽅法开始时、结束时、正常运⾏完毕时、⽅法异常时等这些特殊的时机点,我们称之为连接点,项⽬中每个⽅法都有连接点,连接点是⼀种候选点切⼊点
:指定AOP思想想要影响的具体⽅法是哪些,描述感兴趣的⽅法Advice
增强:第⼀个层次
:指的是横切逻辑第⼆个层次
:⽅位点(在某⼀些连接点上加⼊横切逻辑,那么这些连接点就叫做⽅位点,描述的是具体的特殊时机)
Aspect切⾯
:切⾯概念是对上述概念的⼀个综合
Aspect切⾯
=切⼊点
+增强
=切⼊点(锁定⽅法
) +⽅位点(锁定⽅法中的特殊时机)
+横切逻辑
注意: 众多的概念,⽬的就是为了锁定要在哪个地⽅插⼊什么横切逻辑代码