ぺーぺーSEのブログ

備忘録・メモ用サイト。

Spring MVC入門

Spring MVCで最小アプリケーションが動くまでの設定についてまとめる。
以下の2種類で同じアプリを実装する。

  • Java Based Configuration
  • XML Based Configuration

上記は両方HTTP GETするとHelloが返ってくる簡単たRESTアプリ。
Spring BOM 2.0.8.RELEASEで動確した。

Java Based Configuration

以下を作成する。

  • pom.xml
  • src/main/java/com/pepese/sample/config/AppConfig.java
    • Spring設定クラス
      • DIやAOPなどの設定に使用する
    • @Configuration アノテーションを付与すること
    • 必要に応じて@ComponentScanを指定してコンポーネントスキャン領域を指定すること
  • src/main/java/com/pepese/sample/config/WebMvcConfig.java
    • Spring MVC設定クラス
      • コンテンツネゴシエーションなどSpring MVCのDispatcherServletに関する設定に使用する
    • WebMvcConfigurerAdapter が継承されていること
    • @Configuration アノテーションを付与すること
    • @EnableWebMvc アノテーションを付与すること
  • src/main/java/com/pepese/sample/config/WebInitializer.java
    • web.xmlのJava Based Configuration
    • AbstractAnnotationConfigDispatcherServletInitializerを継承すること
      • WebApplicationInitializerの実装クラス
  • src/main/java/com/pepese/sample/controller/HelloController.java
    • 動作確認用のコントローラクラス
  • src/main/java/com/pepese/sample/service/HelloService.java
    • DIなどの動作確認用のサービスクラス

pom.xml

AppConfig.java

WebMvcConfig.java

WebInitializer.java

HelloController.java

HelloService.java

mvn clean package してTomcatにデプロイすれば動く。

XML Based Configuration

以下を作成する。Java Based Configurationと異なるファイルだけ記載する。
以下は不要になるファイル。

  • src/main/java/com/pepese/sample/config/AppConfig.java
  • src/main/java/com/pepese/sample/config/WebMvcConfig.java
  • src/main/java/com/pepese/sample/config/WebInitializer.java

以下は追加するファイル。

  • src/main/resources/META-INF/spring/applicationContext.xml
  • src/main/resources/META-INF/spring/spring-mvc.xml
  • src/main/webapp/WEB-INF/web.xml

applicationContext.xml

spring-mvc.xml

web.xml

mvn clean package してTomcatにデプロイすれば動く。