spring之AOP
AOP(aspect oriented programming)面向切面编程 1.aop概述 aop简写aspect oriented programming,中文名字:面向切面编程;通过预编译方式和运行期动态代理实现程序功能的维护的一种技术,aop是oop的延续,aop是一个概念,并没有设定具体语言的实现,它能客服那些值有单继承特性语言的缺点.主要功能是日志记录,性能统计,安全控制,事务处理,异常处理等等.oop针对业务过程的实体及行为进行抽取封装,以获取更加清晰高效的逻辑单元划分. aop则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段已获得逻辑过程中个部分之间低耦合的隔离效果.这两种设计思想在目标上有本质的差异. ood/oop面向名领域,aop面向动词领域 2.aop相关术语 1.目标对象(target) 被代理的类(被增强的类) 2.连接点(join point) 那些被拦截到的点,在spring中这些点指的是方法,因为spring只支持方法类型的连接点. 3.切入点(pointcut) 表示一组连接点,这些连接点通过逻辑关系组合起来,或是通过通配,正则表达式等方式集中起来,它定义了项应的advice将要发生的地方 我们对那些哪些方法进行拦截的定义. 4.通知(advice) 拦截到方法之后所要做的事情,通知分为前置通知