AOP术语介绍

1. 正常的编程为从上到下的调用,执行



2. 加入了安全性检查,日志这样的代码. 这是一个横切的问题,其于正常的业务毫无关系.

横切的问题会散布在代码的各个角落
.


3.这个横切就是横切性的关注点: Cross cutting concern





4.
将横切的关注点都放在一个类中(如动态代理项目中的SecurityHandler.java).这个类就叫做切面.

   对横切关注点进行模块化,这个模块化的类就叫做切面类(Aspect对应的类) ,


 

 

5. 在切面类中对某个问题如日志或安全性检查的具体实现方法,叫做横切关注点的具体实现(称为Advice).






 

 

6. 这个Advice可以进行分类. :在业务方法执行之前,之后.异常时候……


 

7. Advice应用的目标方法范围(那些方法之前,之后,异常….)这个过滤范围叫做切入点Pointcut()


 

8 .植入

Advice应用的目标方法的过程叫做植入(Weave)

Spring只支持针对业务方法执行前,执行后进行植入. 即只支持方法级别的植入

植入的地方就叫做连接点.

SpringAop是使用代理模式.

 

横切问题的处理思路:

发现横切性的问题,将其模块化(切片).然后形成切片类,在其中实现这些横切性的功能.