Mryqu's Notes


  • 首页

  • 搜索
close

了解Objenesis

时间: 2015-08-12   |   分类: Java     |   阅读: 12 字 ~1分钟

Objenesis是一个很小的Java库,作用是绕过构造器创建一个实例。Java已经支持通过Class.newInstance()动态实例化Java类,但是这需要Java类有个适当的构造器。很多时候一个Java类无法通过这种途径创建,例如:

  • 构造器需要参数
  • 构造器有副作用
  • 构造器会抛出异常

Objenesis可以绕过上述限制。它一般用于:

  • 序列化、远程处理和持久化:无需调用代码即可将Java类实例化并存储特定状态。
  • 代理、AOP库和Mock对象:可以创建特定Java类的子类而无需考虑super()构造器。
  • 容器框架:可以用非标准方式动态实例化Java类。例如Spring引入Objenesis后,Bean不再必须提供无参构造器了。

Objenesis内部提供了多个不同JVM上的解决方案:了解Objenesis

参考

Objenesis项目官网
GitHub:Objenesis

标题:了解Objenesis
作者:mryqu
声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

#objenesis# #java# #类# #实例化#
[Hive] Hive数据类型
[Hive] Hive UDF not supported in insert/values command
  • 文章目录
  • 站点概览

Programmer & Architect

662 日志
27 分类
1472 标签
GitHub Twitter FB Page
    • 参考
© 2009 - 2023 Mryqu's Notes
Powered by - Hugo v0.120.4
Theme by - NexT
0%