spring学习总结(三)- aop

一、概念

aop:面向切面编程

横向重复,纵向抽取

spring学习总结(三)- aop
二、spring实现aop原理

spring能够为容器中管理的对象生成动态代理对象

1、动态代理(优先)

    被代理对象必须要实现接口,才能产生代理对象.如果没有接口将不能使用动态代理技术

2、cglib代理(没有接口)

    第三方代理技术,cglib代理.可以对任何类生成代理.代理的原理是对目标对象进行继承代理. 如果目标对象被final修饰.那么该类  无法被cglib代理.

三、aop名词解释

JoniPoint(连接点):目标对象中,所有可以增强的方法

PointCut(切入点):目标对象中已经增强或需要增强的方法

Advice(通知/增强):增强的代码

Target(目标对象):被代理对象

Weaving(织入):将通知应用到切入点的过程

Proxy(代理):将通知织入到目标对象后,形成代理对象

Aspect(切面):切入点+通知

四、aop演示

1)xml配置

准备目标对象

spring学习总结(三)- aop

准备通知

spring学习总结(三)- aop

spring学习总结(三)- aop

配置进行织入,将通知织入目标对象中

spring学习总结(三)- aop

spring学习总结(三)- aop

2)注解配置

配置进行织入,将通知织入目标对象中

spring学习总结(三)- aop

spring学习总结(三)- aop

spring学习总结(三)- aop