PackageCom.free.testProxy;ImportJava.lang.reflect.InvocationHandler;ImportJava.lang.reflect.Method;ImportJava.lang.reflect.Proxy;/*** Three conditions for dynamic agent * 1. Interface * 2. The proxy class implements the interface * 3. Create a proxy class **/ Public classproxyconnection {PrivateConnection Connection; PublicConnection GetProxy () {Connection Connection= (Connection) proxy.newproxyinstance (jdbcconnection.class. getClassLoader (), jdbcconnection.class. Getinterfaces (),NewInvocationhandler () {//as long as the method that invokes the proxy class goes through the method, the AOP idea Publicobject Invoke (Object proxy, Method method, object[] args)throwsThrowable {//TODO auto-generated mehod stubSystem.out.println ("1"); //calling the proxy class's own methodSystem.out.println (Proxy.getclass () + "" +method.getdeclaringclass () +method.invoke (jdbcconnection.class. newinstance (), args);//method.invoke (proxy, args); //actions after executing the proxy class methodSystem.out.println ("2"); return NULL; } }); returnconnection; } Public Static voidMain (string[] args) {Connection Connection2=Newproxyconnection (). GetProxy (); Connection2.close (); }}
Java Dynamic Agent review