AOP的概念
AOP是面向切面编程的缩写,它是一种编程的新思想。对我们经常提起的oop(面对对象编程)有一定的联系。
AOP和OOP的关系
AOP可以说是oop的某一方便的补充,oop侧重于对静态的属性和方法组合为对象,使得逻辑更加清晰,而aop是是从动态角度考虑,处理过程中某个步骤或者阶段,是从动态角度考虑的。
AOP的功能
主要处理事务,日志,安全,异常统计等功能。
AOP的价值
AOP专门用于处理分布于各个各个模块中的交叉关注点的问题,在J2ee应用中。通常用AOP来处理一些具有横切性质的系统级服务,如事务管理,安全检查,缓存,对象池管理等,AOP已经成为了一种很成熟的管理技术。
AOP的原理剖析
AOP的代理是AOP框架动态生成的一个对象,该对象可以作为目标对象使用,该对象所包含的方法与目标的对象的方法如下图:
代理对象的方法=被代理对象的方法+增强的方法
步骤:
1.定义普通的业务组件。
2.定义切入点。
3.定义增强处理。
AOP的关键概念
切面-aspect
连接点-jion point
通知-advice
切入点 point cut
引入 introduction
目标代理 target object
AOP代理-AOP proxy
织入-weaving
AOP的通俗总结
一个组件A不关心其他的服务组件B,但是组件A使用组件B的时候,不是A自己去调用而是通过配置等其他方式,比如Spring中的xml配置文件等。所以A不知道B组件的具体情况,A只是需要B组件的时候配置文件去做,与A无关,这就是AOP的一个通俗的总结。