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入门

2.应用场景

Spring——(4)AOP入门

Spring——(4)AOP入门

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

3.spring底层实现方法

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

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

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

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

(1)JDK的动态代理:

Spring——(4)AOP入门

Spring——(4)AOP入门

Spring——(4)AOP入门

Spring——(4)AOP入门

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

Spring——(4)AOP入门

invoke 方法的参数 

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

return method.invoke(userDao,args)

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

要代理的对象,参数

解释:

Spring——(4)AOP入门

Spring——(4)AOP入门

 

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

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

Spring——(4)AOP入门

(2)Cglib的动态代理:

Spring——(4)AOP入门

Spring——(4)AOP入门

Spring——(4)AOP入门

Spring——(4)AOP入门

4.Spring 的基于 AspectJ 的 AOP 开发

(1)Spring 的AOP简介

Spring——(4)AOP入门

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

Spring——(4)AOP入门

Spring——(4)AOP入门