使用Java的动态代理有一个局限性就是代理的类必须要实现接口,CGLib采用非常底层的字节码生成。