【发布时间】:2014-05-23 10:52:45
【问题描述】:
我想为类而不是接口创建代理。有一些答案描述了为此目的使用 cglib 或 Javassist(例如https://stackoverflow.com/a/4449998/),但我遇到了麻烦,因为我对代理感兴趣的类没有无参数构造函数,所以Enhancer.create()抛出异常。查看 Javassist ProxyFactory javadoc,它也需要构造函数参数。
显而易见的解决方法是通过反射查找构造函数参数类型并传递一个空值/0/等数组。但如果构造函数抛出异常,这将不起作用。
是否有更好的选择(也许使用其他库)?
【问题讨论】:
标签: java reflection proxy-classes javassist cglib