今回はSpring MVCを取り上げる。Spring MVCは、2009年12月16日に公開されたSpring 3.0の中で最も多くの機能追加が行われたフレームワークの1つだ。本稿では、そこでの変更点を中心に同フレームワークの簡単な使い方を紹介していこう。
まずは、本題に入る前にSpring MVCを取り巻く環境について説明する。
Spring MVCはその名が示すとおり、MVCを実現するためのコントローラ層のフレームワークだ。同じコントローラ層のフレームワークとしては、StrutsやSAStruts、JSFなどがある。
日本では、Spring Frameworkを使用する場合、フレームワーク自体の生産性は低くとも使い慣れたStruts1系とSpringのDIコンテナを使用するパターンが多かった。ただ、Spring 3.0からは、Struts1系と連携するためのモジュールが全て非推奨となっている(開発途中では削除されていた)。
今回非推奨となったことで、次回のメジャーバージョンアップでは完全に削除される可能性が高い。今後もStruts1系とSpringの組み合わせで開発を行う場合、自前で連携部分を作成する必要が出てくる。そこでSpringに慣れたユーザの乗り換え先として、注目されるのがSpring MVCだ。Spring MVCは、Spring 3.0からよりシンプルに開発出来るようになった注目のフレームワークである。
Spring MVCを利用する上での注意点
Spring 3.0以降のSpring MVCを利用する場合、以下の2点について注意する必要がある。
Java 5以上が必要
Spring MVC(Spring Framework自体)は、バージョン3.0よりJava 5のジェネリックスなどの対応を行っているためJava 5もしくは、J2EE 1.4以上が必須となっている。
Springチームは、Java 6及びJava EE 5でビルドしているようなので可能ならば、Java 6及びJava EE 5を使用したほうが良い。
「階層化されたコントローラクラス」の非推奨化
「階層化されたコントローラクラス」とは、Spring MVCの初期の頃からあるクラス群のことを指している。これからは、@Controllerと呼ばれるSpring 2.5から提供されているコントローラクラスに@Controllerを付与してPOJOで作成するアーキテクチャを使用することになる。
それでは、シンプルに作成出来るようになったSpring MVCの機能についてみていこう。本稿では、執筆時点で最新のSpring 3.0.1で動作確認を行っている。
Spring MVCについて、より深く理解したい場合は、Spring MVCのサンプルプログラムは、SVNにあるので、チェックアウトすると良いだろう。