码迷,mamicode.com
首页 > 编程语言 > 详细

spring AOP JDK动态代理实现

时间:2020-09-16 12:17:25      阅读:43      评论:0      收藏:0      [点我收藏+]

标签:功能   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!