我在代码中的几个地方使用gson,似乎每次都需要注册我使用的类型适配器,如下所示:
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapter(TypeA.class, new TypeAAdapter());
gsonBuilder.registerTypeAdapter(TypeB.class, new TypeBAdapter());
Gson gson = gsonBuilder.create();
现在,我可以将这段代码包装在一个实用程序函数中,或者我可以创建一个gsonBuilder单例(它是线程安全吗?),但我觉得这个常见的使用模式在文档中没有提到
在gson上是否有一些首选的方法来设置和忘记类型适配器,所以我只需要在我的代码中的一个地方担心它们?
答案 0 :(得分:1)
Gson似乎是一个线程安全的类。可以在source code中找到确保线程安全的功能测试。
因此,如果使用依赖注入框架,则可以在类中注入Gson实例作为依赖项。
答案 1 :(得分:0)
在TypeAdapterFactory
注册grails-app/conf/spring/resources.groovy
:
beans {
localDateAdapterFactory(LocalDateAdapterFactory)
}