如何正确重用 Jackson ObjectMapper?

2024-02-22

我对 ObjectMapper 的工作方式以及在我的应用程序中的一般使用感到满意。我想了解的是实现 ObjectMapper 以确保它被重用并且我不会在应用程序中创建不必要的实例的最佳方法?

我的想法是,我可以在 Utils 类中声明 ObjectMapper,如下所示:

public class Utils {

    public final static ObjectMapper mapper = new ObjectMapper();

}

然后我可以从我需要使用代码的各个地方引用它,例如:

JsonSimple jsonSimple = Utils.mapper.readValue(jsonString, JsonSimple.class);

我遇到了另一个问题(我应该将 Jackson 的 ObjectMapper 声明为静态字段吗? https://stackoverflow.com/questions/3907929/should-i-make-jacksons-objectmapper-as-static-final)这促使我采用了这种方法。我认为也许关键的区别是我想在许多不同的类之间共享我的 ObjectMapper 实例,而不仅仅是在单个类中。

这种方法听起来合适还是我错过了什么?

Thanks


每个应用程序使用一个实例是可以的,前提是在它可见后不调用任何配置方法,即您应该在静态块内完成所有初始化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何正确重用 Jackson ObjectMapper? 的相关文章

随机推荐

  • 如何使用 Kue 安排每周四一次的工作?

    Using Kue https github com learnboost kue 如何安排每周四执行一次作业 Kue自述文件提到我可以延迟一个Job 但是在特定时间重复执行Job怎么样 我可以通过 cron 作业做我想做的事情 但我喜欢
  • Amazon S3 只写访问

    我将多个客户的文件直接备份到 Amazon S3 存储桶中 每个客户备份到不同的文件夹 我使用一个简单的 Net 客户端 每晚在 Windows 任务下运行一次 为了允许写入存储桶 我的客户端需要 AWS 访问密钥和秘密密钥 我创建了一对新
  • 如何在 Pandoc 生成的 PDF 表格中添加垂直线

    有没有办法让 Pandoc 在 PDF 输出表格中放置垂直线 而无需编辑 Pandoc 的源代码 目前我正在使用以下方法生成 PDF pandoc template pandoc template tex V geometry margin
  • Selenium:启动服务器时出现无效的“已经运行”错误

    我正在尝试启动并运行 Selenium 服务器 但是 当我输入 java jar selenium server standalone 2 0b3 jar 我得到一个例外 Selenium 已经在端口 4444 上运行 或者其他一些服务正在
  • 如何限制进程的CPU使用率

    我想创建一个程序 即使在计算机空闲时也可以限制进程的 CPU 使用率 我编写了一个设置进程优先级的程序 但是如果计算机空闲 cpu使用率可以达到95 该进程包含 元素 是我要限制的进程 private static readonly str
  • HEREDOC 干扰代码缩进

    我喜欢 HEREDOC 语法 例如对于生成的 HTML 的边缘情况 不值得放入模板中 不过 唯一让我烦恼的是定界符字符串的内容和结束标记遵循第一列 这会搞乱嵌套代码布局 class myclass function construct a
  • 如何检查用户何时在 Firebase 中通过了电话身份验证?

    我有一个 Android 应用程序 用户在应用程序中使用他们的电话号码注册 我使用 Firebase 在身份验证中存储他们的电话和电子邮件 并且我还在实时数据库中保存他们的电话 全名和电子邮件 实时数据库的结构如下 Auto Generat
  • 如何在 Rails 4 中设置自定义字符串外键?

    如何设置关联以使用字符串foreign key正确设置has one class Pharmaceutic lt ActiveRecord Base has one pharmaceutic group foreign key code e
  • 使用 Prawn 在 pdf 中添加图像

    我在使用 Prawn 作为 pdf 生成器将图像添加到 PDF 时遇到问题 我正在尝试使用以下代码添加图像 def header text something image Prawn DATADIR images logo small pn
  • 将 R 中的值列表替换为另一个值列表

    我有一个包含任何这些值的数据框 from c A C G T R Y M K W S N 我想相应地替换为 to c AA CC GG TT AG CT AC GT AT CG NN 最好的方法是什么 循环替换所有值 或循环矩阵位置 或任何
  • 与接口同名的 TypeScript 类

    我想声明一个名为Date它有一个 Date 类型的属性 如 JavaScript 的 TypeScript 接口 日期对象 https developer mozilla org en US docs Web JavaScript Refe
  • 错误 LNK1104:无法打开文件“mfc90.lib”

    我正在使用 Visual Studio 2012 Professional 我的项目参考使用 VS2008 v90 构建的静态库 当我使用 VS2012 v110 构建时 error LNK1104 cannot open file mfc
  • 构造函数不接受我的信息

    所以构造函数是说 是预期的 错误不是声明 并且 预期的 Person num1 num2 num3 num1 new Person Allison 6600 Crescent Ave 32 9024231421 num2 new Perso
  • 最大夏普比率投资组合因 PortfolioAnalytics 中的错误而失败

    在计算简单的最大夏普比率投资组合权重时 我在 PortfolioAnalytics 中遇到了一个问题 Error in max sr opt R R constraints constraints moments moments Objec
  • Python:在曲线和轴之间填充颜色并区域化区域

    我在 Excel 工作表上有两条曲线的一组 x y 值 使用xlrd模块 我已经能够将它们绘制如下 问题 如何使用不同的填充颜色对三个区域进行着色 曾尝试过fill between但由于不知道如何与x轴和y轴关联而没有成功 心中的结局如下图
  • PHP:如何删除索引后的所有数组元素[重复]

    这个问题在这里已经有答案了 是否可以删除索引后的所有数组元素 myArrayInit array 1 gt red 30 gt orange 25 gt velvet 45 gt pink 现在一些 魔法 myArray delIndex
  • PySide:如何在 QPushButton 单击槽中获取单击的 QPushButton 对象?

    我是 PySide 的新手 我想在其单击的插槽中获取 QPushButton 对象 例如使用它来获取其文本 button QtGui QPushButton start go button clicked connect self butt
  • 如何向引用添加事件监听器?

    如何添加事件监听器ref使用 ReactJS Hooks 版本 16 8 这是一个示例 我尝试使用 Overflow auto 获取某些 div 的滚动位置 updateScrollPosition永远不会被叫到 function Exam
  • MongoDB minidump文件路径错误

    我最近卸载了 MongoDB 3 2 以安装 MongoDB 3 6 从那时起 每次我尝试启动 mongod 时 都会收到以下错误 failed to open minidump file C Program Files MongoDB S
  • 如何正确重用 Jackson ObjectMapper?

    我对 ObjectMapper 的工作方式以及在我的应用程序中的一般使用感到满意 我想了解的是实现 ObjectMapper 以确保它被重用并且我不会在应用程序中创建不必要的实例的最佳方法 我的想法是 我可以在 Utils 类中声明 Obj