如何在Gson上全局注册类型适配器?

时间:2011-12-13 18:08:46

标签: java gson

我在代码中的几个地方使用gson,似乎每次都需要注册我使用的类型适配器,如下所示:

 GsonBuilder gsonBuilder = new GsonBuilder();
 gsonBuilder.registerTypeAdapter(TypeA.class, new TypeAAdapter());
 gsonBuilder.registerTypeAdapter(TypeB.class, new TypeBAdapter());
 Gson gson = gsonBuilder.create();

现在,我可以将这段代码包装在一个实用程序函数中,或者我可以创建一个gsonBuilder单例(它是线程安全吗?),但我觉得这个常见的使用模式在文档中没有提到

在gson上是否有一些首选的方法来设置和忘记类型适配器,所以我只需要在我的代码中的一个地方担心它们?

2 个答案:

答案 0 :(得分:1)

Gson似乎是一个线程安全的类。可以在source code中找到确保线程安全的功能测试。

因此,如果使用依赖注入框架,则可以在类中注入Gson实例作为依赖项。

答案 1 :(得分:0)

TypeAdapterFactory注册grails-app/conf/spring/resources.groovy

beans {
        localDateAdapterFactory(LocalDateAdapterFactory)
      }