タツノオトシゴのブログ

主にJavaに関するものです。

Spring MVC3.2の変更点をまとてみました。

Spring 3.2に当たり、はまった部分をあげておきます。これらは変更点にも記載しています。

  1. ライブラリの構成が変わった。
    • CGLIBやspring-asmがspring-coreに取り込まれてた。
  2. コンテンツネゴシエーション機能が標準で有効になり、拡張子とAcceptヘッダーのメディアタイプが一致していないとエラーとなるようになった。
    • ContentNegotiationManagerでSpring3.1の仕様に戻すことができます。

【変更履歴】

【注意点】

  1. これらの変更点は、Cookbookの方へ今後マージする予定です。
  2. 非同期処理については今後追加する予定です。:2013/3/25済。

目次

1. SPRING3.2の変更点
1.1. SPRING3.2を利用するに当たり
1.1.1. ライブラリの変更
1.1.2. 定義ファイルの変更
1.2. SERVLET3で組み込まれた非同期処理への対応
1.2.1. 非同期処理の準備
1.2.2. Servlet3の非同期処理とSpring MVCの非同期処理の考え方
1.2.3. 「Callable」を使用した非同期処理の実行
1.2.4. 「DeferredResult」を使用した非同期処理
1.3. SPRING MVCのテスタの導入
1.3.1. 準備
1.3.2. サーバサイドのテスト
1.4. コンテンツネゴシエーション機能の追加
1.4.1. コンテンツネゴシエーションの動作のカスタマイズ
1.4.2. こんなときは「Spring3.2に移行したらJSONやXMLを取得するRESTサービスが動作しなくなり、406 Not Acceptableが発生する」
1.5. アノテーション「@CONTROLLERADVICE」の追加
1.6. RESPONSEENTITYEXCEPTIONHANDLERの追加
1.7. マトリックス変数を定義するアノテーション「@MATRIXVARIABLE」の追加
1.7.1. @MatrixVaribableが1つの場合
1.7.2. @MatrixVariableが複数の場合
1.7.3. @MatrixVariableの初期値の設定
1.7.4. @MatrixVariableの値をMapで取得する
1.7.5. 機能のON/OFF(:TODO)
1.8. SERVLET3におけるコンテナの初期化をJAVAのコードで定義できる機能の追加
1.9. RESTTEMPLATEのレスポンスデータと@REQUESTBODYのGENERICSのサポート
1.9.1. RestTemplateにおけるレスポンスデータのGenericsのサポート
1.9.2. @RequestBodyにおけるリクエストデータのGenericsのサポート
1.10. JSONライブラリ「JACKSON JSON 2.X」のサポート
1.10.1. Jackson JSON 2.x を使用する
1.10.2. JSONのマッピングのカスタマイズ
1.11. TILES 3の対応(:TODO)
1.12. @REQUESTBODYを付与した入力値チェックの動作の改善
1.13. HTTPのメソッド「PATCH」の対応
1.13.1. Controller側
1.13.2. クライアント側(jQuery)
1.13.3. クライアント側(RestTemplate)
1.14. インターセプター設定時の除外パターンの対応
1.15. @DATETIMEFORMATにてライブラリ「JODA TIME」に依存しない場合のサポート
1.16. 日付・時間の書式の全体設定