首页 > 编程语言 > 详细

spring AOP JDK动态代理实现

时间:2020-09-02 22:30:17      阅读:61      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 

首先创建一个接口 UserDao

技术分享图片

 

 然后创建一个实现类 UserDaoImpl

技术分享图片

 

 

 

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

技术分享图片

 

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

技术分享图片

 

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

技术分享图片

 

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

技术分享图片

 

 然后我们实现增强的逻辑

技术分享图片

 

 

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

技术分享图片

 

 

执行结果:

技术分享图片

 

spring AOP JDK动态代理实现

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!