[Java] Maven を使った Spring MVC プロジェクトのセットアップ方法

Eclipse 上で Spring MVC を使った Web アプリケーションを Maven プロジェクトとして作成する手順のメモです。
作業環境は、Eclipse Juno 4.2 for Java (Pleiades All in One) です。

    STEP 1. Maven プロジェクトの作成

    [ファイル] ⇒ [新規] ⇒ [その他] で「Maven プロジェクト」を選択します。次に表示される画面では、そのままの設定で「次へ」をクリックします(下図)。

    次に表示される画面では、フィルタ―に「maven-archetype-webapp」と入力して少し待つと、下のリストに「maven-archetype-webapp」というアーティファクトIDの項目が表示されるので、それを選択して「次へ」をクリックします(下図)。

    次に表示される画面では、グループID、アーティファクトID、パッケージ名を入力して「完了」をクリックします(下図)。

    STEP 2. 欠落しているソースフォルダの作成

    プロジェクトが生成されると、src/main/resource のみが存在しますが、プロジェクトの設定を見ると、ソースフォルダとしては src/main/java, src/main/resources, src/test/java が登録されています(バグ?)。なので、手動で src/main/java フォルダと src/test/java フォルダを作成します。

    STEP 3. JRE のバージョンの変更

    JRE システム・ライブラリーのバージョンが J2SE-1.5 になっているので、JavaSE-1.7 (java7) に変更します。

    STEP 4. Spring Web MVC ライブラリの追加

    Maven 依存関係の追加で、org.springframework spring-webmvc を追加します。
    プロジェクト上で右クリック ⇒ [Maven] ⇒ [依存関係の追加] で表示される画面で、「グループID、アーティファクトIDまたは…」の欄に「spring-webmvc」と入力すると「org.springframework spring-webmvc」という項目が表示されるので、それを選択し「OK」をクリックします(下図)。

    STEP 5. 動的Webプロジェクトへの変換

    プロジェクト上で右クリック ⇒ [プロパティー] で、「プロジェクト・ファセット」を選択し、右に表示される画面で「ファセット・フォームへ変換…」をクリックします(下図)。

    次に表示される画面の「プロジェクト・ファセット」のリストで「動的 Web モジュール」にチェックを入れ、リストの下に表示される「より詳しい構成が使用可能…」をクリックします(下図)。

    コンテンツ・ディレクトリーの欄はデフォルトで「WebContent」になっていますが、これを「/src/main/webapp」に書き換え「OK」をクリックします(下図)。「web.xml デプロイメント記述子の生成」にはチェックを入れないようにします(Maven プロジェクト作成時に既に生成されています)。

    プロパティーウィンドウ下の「OK」をクリックします。

    STEP 5. DispatcherServlet の設定

    web.xml 内に、全ての URL パターンに対して org.springframework.web.servlet.DispatcherServlet が呼び出されるようにするためのサーブレットの設定を記述します。

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app
      xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
      version="2.5">
      <display-name>mvcsample</display-name>
      <!-- Creates the Spring Container shared by all Servlets and Filters -->
      <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>
    org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    </web-app>
    

    STEP 6. dispatcher-servlet.xml の作成

    STEP 5. で設定した「dispatcher」という名前のサーブレットに関する設定ファイルを準備します。 src/main/webapp/WEB-INF フォルダ内に、新規 XML ファイルを作成し、「dispatcher-servlet.xml」という名前にします(下図)。

    このファイルに、以下のように記述します:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:p="http://www.springframework.org/schema/p"
      xmlns:mvc="http://www.springframework.org/schema/mvc"
      xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
    
      <mvc:annotation-driven />
    
      <context:component-scan base-package="sample.controller" />
    
      <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/views/" p:suffix=".jsp" />
    </beans>
    

    上記設定ファイルでは、以下の設定を行っています:

    • Spring Framework 用のアノテーションを使用する
    • View は WEB-INF/views にフォルダに格納した .jsp ファイルを使用する
    • コンポーネントは sample.controller パッケージから探す

    View の設定やコンポーネントの検索場所は必要に応じて変更してください。

    STEP 7. Deployment Assembly への Maven 依存関係の追加

    アプリケーション実行時にアプリケーションから Spring MVC のライブラリが参照できるようにするために、Deployment Assembly のリストに Maven 依存関係を追加します。
    プロジェクト上で右クリック ⇒ [プロパティー] で、「Deployment Assembly」を選択し、右に表示される画面で「追加」をクリックします(下図)。

    次に表示される画面で「Java Build Path Entries」を選択し、「次へ」をクリックします(下図)。

    次に表示される画面で、「Maven 依存関係」を選択し、「完了」をクリックします(下図)。

    プロジェクトのプロパティーウィンドウの「OK」をクリックしてプロパティーウィンドウを閉じます。

    これでプロジェクトのセットアップは完了です。ここから Controller や View を作って Web アプリケーションを作成していくことができます。


    Pocket
    Bookmark this on Yahoo Bookmark

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>