spring AOP JDK动态代理实现

2021-03-29 15:26

阅读:629

标签:功能   info   src   使用   cat   handler   动态代理   nbsp   rda   

技术图片

 

 

首先创建一个接口 UserDao

技术图片

 

 然后创建一个实现类 UserDaoImpl

技术图片

 

 

 

 当我们需要对已有的接口进行增强时,我们就可以使用Proxy,创建接口的代理对象

技术图片

 

对于Proxy类的newProxyInstance方法的第三个参数,可以使用匿名内部类,如上。也可以通过创建实现InvocationHandler的方法传入。

技术图片

 

 我们通过这个实现InvocationHandler接口的类创建Proxy对象

技术图片

 

 为了能增强UserDao的功能,我们需要把UserDao传入我们的UserDaoProxy类中,这样可以调用UserDao已经实现的方法。做法是利用有参构造函数。

技术图片

 

 然后我们实现增强的逻辑

技术图片

 

 

 这样我们就可以用代理对象来增强已有方法了

技术图片

 

 

执行结果:

技术图片

 

spring AOP JDK动态代理实现

标签:功能   info   src   使用   cat   handler   动态代理   nbsp   rda   

原文地址:https://www.cnblogs.com/superxuezhazha/p/13603492.html


评论


亲,登录后才可以留言!