概念:cglib代理与jdk代理一样都是属于动态代理,他俩的区别就在于,使用jdk代理那么目标类一定要实现代理类的接口,则cglib代理不需要
简单来说:
1、如果一个类需要实现接口,那么使用jdk代理(不知道如何使用的请看我上一篇文章)
2、如果一个类不需要实现接口来增强,那么使用cglib代理
3、例如大名鼎鼎的Spring AOP,就是通过使用cglib代理来实现了对方法的拦截也就是增强
类图:
代码:
运行结果:
概念:cglib代理与jdk代理一样都是属于动态代理,他俩的区别就在于,使用jdk代理那么目标类一定要实现代理类的接口,则cglib代理不需要
简单来说:
1、如果一个类需要实现接口,那么使用jdk代理(不知道如何使用的请看我上一篇文章)
2、如果一个类不需要实现接口来增强,那么使用cglib代理
3、例如大名鼎鼎的Spring AOP,就是通过使用cglib代理来实现了对方法的拦截也就是增强
类图:
代码:
运行结果: