3

JSON のサポートには Spring 2.5 と spring-json を使用しています。views.xml には以下の構成があります。

<bean name="jsonView" class="org.springframework.web.servlet.view.json.JsonView"/>

ここで、Spring 3.x が JSON サポートのために内部で JackSon API を使用していることを知りました。私の質問は、Spring 2.5 のデフォルトの実装をオーバーライドして、JackSon を使用する方法です。Spring 3.x の開始方法です。

注: Spring バージョンを移行したくありませんが、Spring 2.5 で Spring-Json の代わりにこの JackSon API を使用する必要があります。

4

1 に答える 1

0

SpringのJSONサポートを壊さずに置き換えることは可能ですか?

残念ながら、Spring自身のドキュメントには、Spring-jsonは既存のSpring2.5フレームワークの「深く」コンポーネントであると記載されています。

参照:http ://spring-json.sourceforge.net/

そうは言っても、spring-jsonへの依存関係を削除し、独自のJSONパーサーを追加し、springを再構築することができます。spring-jsonがSpringMVCスイート全体の主要コンポーネントであることを考えると、これには多くの作業が必要になると思います。

代替案:ファサードの構築

さらに、JsonライブラリのJava EE仕様を知りません。これは、すべての内部Spring json依存関係がSpring-jsonによって定義されたAPIに固有である可能性が高いことを意味します[これを、たとえばJPAと比較してください。これはJavaEEによって一般的に定義されているため、多くのDAOフレームワークを簡単に置き換えることができます]。

通常、あらゆる種類のJSonライブラリを、アプリケーションコンテキストで使用できるSpringコンポーネントとしてパッケージ化できます。さて、ファサードパターンを使用して、内部でJacksonを使用して必要なインターフェイスを再実装する場合、Spring2.5のバージョンは同じように機能するはずです。または、Springのアスペクト指向インジェクションライブラリを使用してJson関連の対象の呼び出しをインターセプトし、必要に応じてそれらを再ルーティングすることもできます。

ただし、これらはすべて高度なタスクです。優れた学習プロジェクトになりますが、これが本番アプリケーションである場合、時間の投資が実際に報われるかどうかはわかりません。

http://www.javaworld.com/javaworld/jw-02-2008/jw-02-springcomponents.html

于 2012-01-14T12:26:11.517 に答える