cglibダイナミックエージェントおよびエラー解決
2587 ワード
動的エージェントのコードはこのブログを使用していますhttp://blog.csdn.net/yakoo5/article/details/9099133/
cglib-2.2.jarパッケージをインポートすると、クラスが見つからないことが表示されます
asm-3.2.jarパッケージをインポートして出力を正常に実行できます:フロントエージェントhello everyone後置エージェント
public class Test {
public static void main(String[] args) {
CglibProxy proxy = new CglibProxy();
//
SayHello proxyImp = (SayHello)proxy.getProxy(SayHello.class);
proxyImp.say();
}
}
class SayHello{
public void say(){
System.out.println("hello everyone");
}
}
class CglibProxy implements MethodInterceptor {
private Enhancer enhancer = new Enhancer();
public Object getProxy(Class clazz){
//
enhancer.setSuperclass(clazz);
enhancer.setCallback(this);
//
return enhancer.create();
}
public CglibProxy() {
}
@Override
public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {
System.out.println(" ");
//
Object result = methodProxy.invokeSuper(o, objects);
System.out.println(" ");
return result;
}
}
cglib-2.2.jarパッケージをインポートすると、クラスが見つからないことが表示されます
asm-3.2.jarパッケージをインポートして出力を正常に実行できます:フロントエージェントhello everyone後置エージェント