166.8. 使用自定义 Jackson 模块

您可以使用 moduleClassNames 选项指定这些类名称,如下所示来使用自定义 Jackson 模块。

    <dataFormats>
      <jacksonxml id="jack" useList="true" unmarshalTypeName="com.foo.MyPojo" moduleClassNames="com.foo.MyModule,com.foo.MyOtherModule"/>
    </dataFormats>

在使用 moduleClassNames 时,不会配置自定义 jackson 模块,使用默认构造器和使用 as-is 创建。如果自定义模块需要任何自定义配置,则可创建和配置模块实例,然后使用 modulesRefs 引用该模块,如下所示:

    <bean id="myJacksonModule" class="com.foo.MyModule">
      ... // configure the module as you want
    </bean>
 
    <dataFormats>
      <jacksonxml id="jacksonxml" useList="true" unmarshalTypeName="com.foo.MyPojo" moduleRefs="myJacksonModule"/>
    </dataFormats>

 可以使用逗号分隔多个模块,如 moduleRefs="myJacksonModule,myOtherModule"