AOP技术则恰恰相反,它利用一种称为"横切"的技术,能够剖解开封装的对象内部,并将那些影响了多个类并且与具体业务无关的公共行为 封装成一个独立的模块
AOP技术的具体实现,无非也就是通过动态代理技术或者是在程序编译期间进行静态的"织入"方式。下面是这方面技术的几个基本术语:
1、join point(连接点):是程序执行中的一个精确执行点,例如类中的一个方法。它是一个抽象的概念,在实现AOP时,并不需要去定义一个join point。
2、point cut(切入点):本质上是一个捕获连接点的结构。在AOP中,可以定义一个point cut,来捕获相关方法的调用。
3、advice(通知):是point cut的执行代码,是执行“方面”的具体逻辑。
4、aspect(方面):point cut和advice结合起来就是aspect,它类似于OOP中定义的一个类,但它代表的更多是对象间横向的关系。
5、introduce(引入):为对象引入附加的方法或属性,从而达到修改对象结构的目的。有的 OP工具又将其称为mixin。
一、AspectJ : 是AOP思想的一种实现
二、Spring(提供了4种aop支持)
1: 基于代理的典型aop
2:@aspectj注解驱动的切面
3:纯pojo切面
4:注入式aspectj切面
三、spring创建切面
1、切点用于准确定位在什么地方应用切面的通知,切点和通知是切面的最基本元素
四、定义切面的方式
1、通过配置文件xml,定义切面 <aop:config>,<aop:aspect>,<aop:pointcut>等标签
2、通过注解定义切面<aop:aspectj-autoproxy> 和 @AspectJ注解
6552

被折叠的 条评论
为什么被折叠?



