最近在复习Spring使用
JDK动态代理是接口级别的实现,这在使用时很好用 接口的实现是指当获得一个该接口的代理时,只需要在给一个实现该接口的委托,就实现了接口的代理
首先是JDK给的动态代理的实现:

结果:
注意到main方法 我在创建代理的newInstance()方法的第二个参数那创建的是一个只用一个接口的数组 并且成功返回该接口的代理,由此可以看出,JDK代理是面向接口的。而不是面向某个特定的类,这无疑提高了代码可重用性
至于Spring两者兼有,更有甚者execution表达式使用的时方法级别的代理,估计是像更好的控制粒度吧,毕竟某个接口可能很多方法实现起来的代理方法可能是不一样的 需要合理斟酌