AOP术语介绍
1. 正常的编程为从上到下的调用,执行
2. 加入了安全性检查,日志这样的代码. 这是一个横切的问题,其于正常的业务毫无关系.
横切的问题会散布在代码的各个角落
.
3.这个横切就是横切性的关注点: Cross cutting concern
4. 将横切的关注点都放在一个类中(如动态代理项目中的SecurityHandler.java).这个类就叫做切面.
对横切关注点进行模块化,这个模块化的类就叫做切面类(Aspect对应的类) ,
5. 在切面类中对某个问题如日志或安全性检查的具体实现方法,叫做横切关注点的具体实现(称为Advice).
6. 这个Advice可以进行分类. :在业务方法执行之前,之后.异常时候……
7. Advice应用的目标方法范围(那些方法之前,之后,异常….)这个过滤范围叫做切入点Pointcut()
8 .植入
Advice应用的目标方法的过程叫做植入(Weave)
Spring只支持针对业务方法执行前,执行后进行植入. 即只支持方法级别的植入
植入的地方就叫做连接点.
Spring的Aop是使用代理模式.
横切问题的处理思路:
发现横切性的问题,将其模块化(切片).然后形成切片类,在其中实现这些横切性的功能.