首页 > 代码库 > cglib动态代理(需导入cglib-nodep-2.1_3.jar)
cglib动态代理(需导入cglib-nodep-2.1_3.jar)
public interface AnimalInterface { public void cry();}
public class AnimalImpl implements AnimalInterface { public void cry() { // TODO Auto-generated method stub System.out.println("crying"); }}
public class MyCglib implements MethodInterceptor { private Object proxied; private MyCglib(Object proxied) { this.proxied = proxied; } public static Object getProxy(Object proxied) { MyCglib cglib = new MyCglib(proxied); Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(proxied.getClass()); enhancer.setCallback(cglib); return enhancer.create(); } public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable { Object ret; System.out.println("Before Method Invoke"); ret = method.invoke(proxied, args); System.out.println("After Method Invoke"); return ret; }}
public class Test { public static void main(String[] args) { AnimalImpl animal = (AnimalImpl) MyCglib.getProxy(new AnimalImpl()); animal.cry(); }}
cglib动态代理(需导入cglib-nodep-2.1_3.jar)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。