我正在将一些代码从 cglib 转换为 byte buddy。
当前代码有这样的语句:
if (net.sf.cglib.proxy.Factory.class.isAssignableFrom(entityClass) || net.sf.cglib.proxy.Enhancer.isEnhanced(entityClass)) {
...
}
字节好友有类似的东西吗?
我可以/应该依赖类名吗? (我使用的是默认命名策略)
事实并非如此。 Cglib 为其所有代理实现了一个接口。该方法主要检查实例是否属于此接口类型。您可以自由定义自己的(标记)接口并检查其实现。
cglibs 方法的缺点是代理始终需要由与 cglib 本身相同的类加载器加载。有时,这会导致无法使用该库。