Takahiro Octopress Blog

-1から始める情弱プログラミング

Spring BootでHello Worldをしてみよう!

| Comments

Spring BootでHello World

引き続きSpring Bootの練習です。
前回、Spring Boot用のプロジェクトを作成して、起動してみるところまでやってみました。
今回はHello Worldアプリケーションを作成してみます。
(Node.jsのExpressとは異なりますが、結構簡単にできました。)

まずは、下記が前回のフォルダ構成です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
firstApp
  ┣━━ build.gradle
  ┣━━ gradlew
  ┣━━ gradlew.bat
  ┣━━ gradle
      ┗━━ wrapper
            ┣━━ gradle-wrapper.jar
            ┗━━ gradle-wrapper.properties
  ┗━━ src
       ┣━━ main
           ┣━━ java
               ┗━━ com
                    ┗━━ example
                          ┗━━ FirstAppApplication.java
           ┗━━ resources
                ┗━━ application.properties
       ┗━━ test
            ┗━━ java
                 ┗━━ com
                      ┗━━ example
                            ┗━━ FirstAppApplicationTests.java

今回はWebアプリケーションを作成するので、build.gradleを修正する必要があります。

1
2
3
4
5
// build.gradle
dependencies {
  compile 'org.springframework.boot:spring-boot-starter-web'
  testCompile('org.springframework.boot:spring-boot-starter-test')
}

コンパイル対象のSpring Bootのモジュールを変更しています。
(元はcompile(‘org.springframework.boot:spring-boot-starter’)でした。)

次に、上記のフォルダ構成のFirstApplication.javaと同階層にHelloController.javaを作成します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// HelloController.java
package com.example;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/hello-world")
public class HelloController {
  @RequestMapping(method=RequestMethod.GET)
  public String hello() {
      return "Hello Spring MVC";
  }
}

HelloController.javaの処理について説明すると

  • @RestController: WebAPIのエントリポイントクラスを指定
  • @RequestMapping: パスやHTTPメソッド(GET, POST, PUT, DELETEなど)のマッピングを指定
    • @RequestMapping("/hello-world")HelloControllerクラスにパスをマッピング
    • @RequestMapping(method=RequestMethod.GET)helloメソッドにHTTPメソッドをマッピング

そして、application.propertiesにポート番号を指定します。

1
2
// application.properties
server.port=9000

あとは、ターミナルからgradle bootRunを実行するだけです。
そして、Chromeでhttp://localhost:9000/hello-worldにアクセスしてみましょう。
下記のような結果が得られるはずです。

Hello World

もろもろの問題はあるけれど、後回しにして、引き続き勉強を進めます。

Comments