Java动态代理(JDK和Cglib)
静态代理:在程序编译时,代理类的.class文件已经存在了。?
动态代理:在程序运行时,运用反射机制动态创建而成。?
动态代理目前有两种代理机制:一种是基于JDK的动态代理;另一种是基于CGLib的动态代理。
JDK本身只提供接口的代理,而不支持类的代理。
CGLib本身只支持类的代理,而不支持接口的代理。
?
JDK动态代理
?
?
public class TestCglibProxy { public static void main(String args[]){ CglibProxy proxy = new CglibProxy(); //动态生成子类的方法创建代理类 ForumServiceImpl fsi = (ForumServiceImpl)proxy.getProxy(ForumServiceImpl.class); fsi.removeForum(10); fsi.removeTopic(2); }}?
?