spring aop切面、切点、通知、连接点

切面:切面就是由切点和增强组成。由于增强既包含横切代码,又包含部分的连接点信息(方法前、方法后等的方位信息),所以我们可以仅通过增强类生成一个切面。但切点仅代表目标类连接点的部分信息(类和方法的定位),所以仅有切点,我们无法制作出一个切面,必须结合增强才能制作出切面。
Advisor代表一般切面,它仅包含一个Advice,我们说过,因为Advice包含了横切代码和连接点的信息,所以Advice本身就是一个简单的切面,只不过它代表的横切的连接点是所有目标类的所有方法,因为这个横切面太宽泛,所以一般不会直接使用
增强:横切代码,还包括连接点信息
连接点: 方法前、方法后等方位信息
切点:目标类连接点的部分信息(类和方法的定位),注意连接点与切点的区分,切点是类.方法,连接点则表示方法前、方法后、方法前后、方法返回后,抛出异常后

1.通过一个增强类来组成advisor,这种对所有类的方法执行增强,很宽泛,相当于jdk的动态代理

aop:config



2.完整advisor:增强类、切点、连接点,这种精确指定哪个类、哪个方法、方法里的哪个位置执行什么样的动作(方法前、方法后、方法前后、抛出异常时,返回时)

aop:config



实际上方两种方法的创建代理增强,在spring中用aop:advisor/、aop:aspect/来实现的

你可能感兴趣的:(spring,java,后端)