java - 在运行时的 java 类中添加默认构造函数

标签 java proxy cglib

我正在编写一个库,我需要为某些对象创建代理。由于某些类不实现任何接口(interface),因此我决定使用 CGLIB 创建代理而不是 JDK 代理。但是我遇到了一些类没有默认构造函数并且 CGLIB 无法为这些类型创建代理的情况,即 CGLIB 抛出异常并显示消息:父类(super class)没有空构造函数但没有给出参数。我如何解决这个问题,是否有某种方法可以使用 cglib/asm 或其他工具在运行时添加默认构造函数?谢谢。

最佳答案

使用http://objenesis.org/ .它的一个典型用例正好解决了您的问题:

Proxies, AOP Libraries and Mock Objects - Classes can be subclassed without needing to worry about the super() constructor.

关于java - 在运行时的 java 类中添加默认构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27302765/

相关文章:

java - 如何使用 Java 从目录中获取最后修改的 10 个文件?

带 GUI 的 Java 结果集 SQL

java - Android 指纹登录 - 可能与否

node.js - 用于开启和关闭代理的 Dockerfile

proxy - 是否可以使用 Charles Proxy 重写状态代码?

java - 使用cglib拦截静态方法

Java:创建了多少个对象?数组作为成员变量

java - 避免 spring cglib 代理的问题

java - 装箱拆箱、cglib、spring 和 NoSuchMethodError 之谜

python 属性错误 : module 'socks' has no attribute 'setdefaultproxy'