3

MavenでビルドされたSpringMVC3.1アプリがあり、JSONのシリアル化/逆シリアル化にJackson2を使用したいと思います。私のアプリにはJackson1.9.9を内部で使用する別の依存関係があり、その依存関係を簡単に削除することはできませんが、pom.xmlファイルにJackson2.xの依存関係を明示的に含めています。

両方のJacksonライブラリがクラスパスに存在するため、SpringはデフォルトでJacksonバージョン1.9.9を使用しているようです。

SpringMVCにJackson2を使用させるにはどうすればよいですか?

4

2 に答える 2

4

これを機能させるには、mvc:annotation-drivenxml構成要素を次のように機能するように調整する必要がありました。

<mvc:annotation-driven>
  <mvc:message-converters register-defaults="false">
    <bean id="jacksonMessageConverter" 
      class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
  </mvc:message-converters>
</mvc:annotation-driven>
于 2013-01-12T21:29:36.793 に答える
1

Jackson 2 のサポートはSpring 3.2で追加され、 Spring 3.1.2にバックポートされました。これらのバージョンのいずれかを入手したら、ここで説明されているように、クラスパスに jackson-databind ライブラリが必要です。

あるいは、Keith Donald は、この回答で言及されているように、MappingJackson2HttpMessageConverter のソースをこの要点に含めました。

于 2013-01-14T10:59:04.140 に答える