请问大神学友们,这代码如何使用cglib改写?

来源:2-4 使用 cglib 动态产生代理

PlaceHolder

2016-10-17 00:10

public static void main(String[] args) {

Moveable car = new Car();

InvocationHandler timeHandler = new TimeHandler(car);

Class<?> cls = car.getClass();

Moveable timeCar = (Moveable) Proxy.newProxyInstance(

cls.getClassLoader(), cls.getInterfaces(), timeHandler);

InvocationHandler logHandler = new LogHandler(timeCar);

Moveable logCar = (Moveable) Proxy.newProxyInstance(

cls.getClassLoader(), cls.getInterfaces(), logHandler);

logCar.move();

}


写回答 关注

2回答

  • qq_曉月姑蘇_0
    2017-01-14 17:05:18

    完全不一样了,

    jdk动态代理是通过接口,只有接口实现了实现类,才可以用jdk进行代理:

    cglib是通过类,通过拦截技术拦截父类调用的技术,在创建子类进行覆盖,

    jdk和cglib是完全不一样的2个概念

  • 慕娘5997453
    2016-10-19 17:50:38

    看视频教程吧 ,我也不知道怎么改写

模式的秘密---代理模式

本节课程将带你领略Java编程语言中代理模式的奥妙

54914 学习 · 98 问题

查看课程

相似问题