Spring——(4)AOP入门

目录

1.什么是 AOP

2.应用场景

3.spring底层实现方法

(1)JDK的动态代理:

(2)Cglib的动态代理:

4.Spring 的基于 AspectJ 的 AOP 开发

(1)Spring 的AOP简介

(2)Spring   AOP中的相关术语:


一、AOP的入门

1.什么是 AOP

Spring——(4)AOP入门_第1张图片

2.应用场景

Spring——(4)AOP入门_第2张图片

https://img-blog.csdnimg.cn/20190319163846732.png

性能监控(代码执行前加一个时间,运行后加一个时间)

3.spring底层实现方法

代理机制: * Spring 的 AOP 的底层用到两种代理机制:

     * JDK 的动态代理 :针对实现了接口的类产生代理.

     * Cglib 的动态代理 :针对没有实现接口的类产生代理. (类似与Javassit)应用的是底层的字节码增强的技术 生成当前类 的子类对象.(不可用final)

Spring 如果实现接口默认用JDK   没有实现接口就用Cglib

(1)JDK的动态代理:

Spring——(4)AOP入门_第3张图片

Spring——(4)AOP入门_第4张图片

Spring——(4)AOP入门_第5张图片

Spring——(4)AOP入门_第6张图片

调用被实现类的任何方法都相当于调invoke中的方法 

Spring——(4)AOP入门_第7张图片

invoke 方法的参数 

代理对象,正在执行的方法,方法参数

return method.invoke(userDao,args)

method代表代理对象中有的方法

要代理的对象,参数

解释:

https://img-blog.csdnimg.cn/20190319172052265.png

https://img-blog.csdnimg.cn/20190319172123920.png

 

本类直接实现的InvocationHandler接口所以直接用this就行  代表JdkProxy对象

调用被实现类的任何方法都相当于调invoke中的方法

Spring——(4)AOP入门_第8张图片

(2)Cglib的动态代理:

Spring——(4)AOP入门_第9张图片

Spring——(4)AOP入门_第10张图片

Spring——(4)AOP入门_第11张图片

Spring——(4)AOP入门_第12张图片

4.Spring 的基于 AspectJ 的 AOP 开发

(1)Spring 的AOP简介

Spring——(4)AOP入门_第13张图片

(2)Spring   AOP中的相关术语:

Spring——(4)AOP入门_第14张图片

Spring——(4)AOP入门_第15张图片

 

你可能感兴趣的:(Spring,spring,aop)