spring AOP JDK动态代理实现

 

 

首先创建一个接口 UserDao

 

 然后创建一个实现类 UserDaoImpl

 

 

 

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

 

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

 

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

 

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

 

 然后我们实现增强的逻辑

 

 

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

 

 

执行结果:

 

posted @ 2020-09-02 19:11  超级学渣渣  阅读(552)  评论(0编辑  收藏  举报