如何正确重用 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? 的相关文章

  • 不同帐户上的 Spring Boot、JmsListener 和 SQS 队列

    我正在尝试开发一个 Spring Boot 1 5 应用程序 该应用程序需要侦听来自两个不同 AWS 帐户的 SQS 队列 是否可以使用 JmsListener 注解创建监听器 我已检查权限是否正确 我可以使用 getQueueUrl 获取
  • Mockito:如何通过模拟测试我的服务?

    我是模拟测试新手 我想测试我的服务方法CorrectionService correctPerson Long personId 实现尚未编写 但这就是它将执行的操作 CorrectionService将调用一个方法AddressDAO这将
  • 在内存中使用 byte[] 创建 zip 文件。 Zip 文件总是损坏

    我创建的 zip 文件有问题 我正在使用 Java 7 我尝试从字节数组创建一个 zip 文件 其中包含两个或多个 Excel 文件 应用程序始终完成 没有任何异常 所以 我以为一切都好 当我尝试打开 zip 文件后 Windows 7 出
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • Pig Udf 显示结果

    我是 Pig 的新手 我用 Java 编写了一个 udf 并且包含了一个 System out println 其中的声明 我必须知道在 Pig 中运行时该语句在哪里打印 假设你的UDF 扩展了 EvalFunc 您可以使用从返回的 Log
  • 在 Jar 文件中运行 ANT build.xml 文件

    我需要使用存储在 jar 文件中的 build xml 文件运行 ANT 构建 该 jar 文件在类路径中可用 是否可以在不分解 jar 文件并将 build xml 保存到本地目录的情况下做到这一点 如果是的话我该怎么办呢 Update
  • 来自 dll 的 Java 调用函数

    我有这个 python 脚本导入zkemkeeperdll 并连接到考勤设备 ZKTeco 这是我正在使用的脚本 from win32com client import Dispatch zk Dispatch zkemkeeper ZKE
  • Java 集合的并集或交集

    建立并集或交集的最简单方法是什么Set在 Java 中 我见过这个简单问题的一些奇怪的解决方案 例如手动迭代这两个集合 最简单的单行解决方案是这样的 set1 addAll set2 Union set1 retainAll set2 In
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • 将流转换为 IntStream

    我有一种感觉 我在这里错过了一些东西 我发现自己做了以下事情 private static int getHighestValue Map
  • java.lang.IllegalStateException:提交响应后无法调用 sendRedirect()

    这两天我一直在尝试找出问题所在 我在这里读到我应该在代码中添加一个返回 我做到了 但我仍然得到 java lang IllegalStateException Cannot call sendRedirect after the respo
  • Eclipse Maven Spring 项目 - 错误

    I need help with an error which make me crazy I started to study Java EE and I am going through tutorial on youtube Ever
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 尝试将 Web 服务部署到 TomEE 时出现“找不到...的 appInfo”

    我有一个非常简单的项目 用于培训目的 它是一个 RESTful Web 服务 我使用 js css 和 html 创建了一个客户端 我正在尝试将该服务部署到 TomEE 这是我尝试部署时遇到的错误 我在这里做错了什么 刚刚遇到这个问题 我曾
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • 最新的 Hibernate 和 Derby:无法建立 JDBC 连接

    我正在尝试创建一个使用 Hibernate 连接到 Derby 数据库的准系统项目 我正在使用 Hibernate 和 Derby 的最新版本 但我得到的是通用的Unable to make JDBC Connection error 这是
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类

随机推荐

  • 如何使用 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