FrontPage > Spring Bootの覚書

プロジェクト作成

1.開発環境

javajava8
Spring BootRELEASE 1.2.x
IDEEclipse 4.4 Pleiades All in One
Eclipse
プラグイン
Spring Tool Suite for Eclipse Luna
Gradle IDE Pack 3.6.x, 0.17

Gradle設定

  • Eclispseのメニューより[Window]->[preferences]を選択。
  • [Gradel]->[Arguments]を選択。
  • [Java Home]にWorkspace JRE:を選択し、java8を指定。

2. プロジェクトの作成

Spring Boot、GradleによるSpring Web MVC、Thymeleafを使用した
Webアプリケーションを作成する。

画面イメージ

sb2-1.png

      ↓

sb2-2.png


  • Eclipseのメニューより[File]->[New]->[Other]を選択。
  • [Spring]->[Spring Starter Project]を選択。
  • Nameへプロジェクト名を入力。(例ではsbSample)
    Type: Gradele Projectを選択。
    Packaging: Warを選択。
    Java Version: 1.8を選択。
    Group, Artifactを入力。
    DependenciesでThymeleaf、Webにチェック。
    sb2-3.png
  • [Next >]->[Finish]ボタンを押す。Project Explorerに作成したプロジェクトが表示される。
  • [Java Resources]->[src/main/java]にベースとなるパッケージを作成。
    (例 com.ziqoo.sbSample)
  • demoパッケージ内のクラスを上記パッケージに移動。demoパッケージは不要なので削除。
  • 移動したSbSampleApplication.javaをApplication.javaにリネーム。
    移動した2つのファイルの内容を以下のように修正。

    (Application.java)
    package com.ziqoo.sbSample;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class Application {
           public static void main(String[] args) {
               SpringApplication.run(Application.class, args);
           }
    }

    (ServletInitializer.java)
    package com.ziqoo.sbSample;
    
    import org.springframework.boot.builder.SpringApplicationBuilder;
    import org.springframework.boot.context.web.SpringBootServletInitializer;
    
    public class ServletInitializer extends SpringBootServletInitializer {
    
       @Override
       protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
           return application.sources(Application.class);
       }
    }
  • コンテキストルートを指定(例では/sbSample)
    [Java Resources]->[src/main/resources]のapplication.propertiesへ
    以下を記述する。

    (application.properties)
    server.context-path=/sbSample

3. 入力画面の作成

入力画面は静的なHtmlとする。(例ではindex.html)

  • EclipseのProject Explorerから、[Java Resources]->[src/main/resources]->[static]へhtmlファイルを作成する。
    (例 index.html)
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>入力画面</title>
    </head>
    <body>
        <form method="post" action="sample/result">
            名前:<input type="text" name="name"/>
            <input type="submit" value="ok"/>
        </form>
    </body>
    </html>

4. コントローラクラスの作成

フォームの入力値をBeanで受け取るようにしてみる。

Beanの作成

フォームの入力値:nameを格納するJava Beanを作成する。 (例 SampleForm.java)

package com.ziqoo.sbSample.web.form;

public class SampleForm {
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

コントローラの作成

クラスに対して"/sample"、メソッドに対して"/result"というURLをマッピングする。
フォームの入力値を格納しているSampleFormはメソッドの引数で受け取る。
また画面からは"sampleForm"という属性名でアクセス可能にする。
結果は"output.html"へ出力する。
(例 SampleController.java)

package com.ziqoo.sbSample.web;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;

import com.ziqoo.sbSample.web.form.SampleForm;

@Controller
@RequestMapping("/sample")
public class SampleController {

   @RequestMapping("/result")
   public String result(@ModelAttribute("sampleForm") SampleForm form) {
       /*
        *  画面で入力された値はform.getName()で取得可能。
        *  今回は何もしないので、ビュー名を返すだけ。
        */
       return "output";
   }
}

5. 結果表示画面の作成

出力画面にはThymeleaf(テンプレートエンジン)を使用する。

  • EclipseのProject Explorerから、[Java Resources]->[src/main/resources]->[templates]へテンプレートファイルを作成する。
    (例 output.html)
    <!DOCTYPE html>
    <html xmlns:th="http://www.thymeleaf.org">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>出力画面</title>
    </head>
    <body>
        こんにちは <span th:text="${sampleForm.name}"></span> さん。
    </body>
    </html>

6. 実行

  • プロジェクトを右クリック
    [Run As]->[Spring Boot App]を選択。
    sb6-1.jpg
  • ブラウザより"http://localhost:8080/sbSample/"へアクセス。
  • 再度実行する場合はConsoleビューのTerminateボタンを押して、アプリを停止してから実行する。
    sb6-2.png

WTPを使用する場合

  • サーバーを作成していない場合は作成する。(Tomcat 7以上)
    Eclipseのメニューより[File]->[New]->[Other]->[Server]
  • プロジェクトをサーバーに追加。
  • Serversビューのサーバーを右クリックし[Start]を選択。
    sb-wtp.png

7. プロジェクト全体

sb7-1.png




添付ファイル: filesb-wtp.png 425件 [詳細] filesb7-1.png 458件 [詳細] filesb6-2.png 452件 [詳細] filesb6-1.jpg 435件 [詳細] filesb2-3.png 646件 [詳細] filesb2-2.png 454件 [詳細] filesb2-1.png 398件 [詳細]

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-06 (金) 19:36:44 (1318d)