我对ObjectMapper的工作方式和应用程序的一般使用感到满意。我想了解的是实现ObjectMapper的最佳方法,以确保其被重用并且不会在应用程序内创建不必要的实例?
我的想法是,可以在Utils类中声明ObjectMapper,如下所示:
public class Utils { public final static ObjectMapper mapper = new ObjectMapper(); }
然后,我可以在不同的地方使用诸如以下代码来引用:
JsonSimple jsonSimple = Utils.mapper.readValue(jsonString, JsonSimple.class);
我遇到了另一个问题(我应该将杰克逊的ObjectMapper声明为静态字段吗?),这促使我采用了这种方法。我认为可能的主要区别在于,我想跨许多不同的类共享我的ObjectMapper实例,而不仅仅是在一个类中共享。
这种方法听起来合适还是我错过了什么?
谢谢
可以在每个应用程序中使用一个实例,只要在使其可见后您不调用任何配置方法即可,即您应在静态块内进行所有初始化。