Spring Bootを使い始めるためのチュートリアル
Spring Bootは2013年に開発が始まり、2014年4月にバージョン1.0がリリースされました。 Spring Bootを使えば最初からさまざまな機能を利用することができます。
アプリケーションサーバにデプロイするという面倒な作業を省き、mainメソッドを実行するだけでWebアプリを実行できます。
Spring Bootを始める
まずは以下のURLに移動します。 https://start.spring.io/
次に、DependenciesのSearch for dependenciesで「Web」を入力してEnterを押します。
そしてGenerate Projectをクリックします。
ダウンロードされたプロジェクトを解凍して、Spring Tool Suiteに取り込みます。
Spring Tool Suiteでは、
File -> Import -> Existing Maven Projectsを選択し、Nextを押下。
先ほど解凍したフォルダを選択します。
取り込んだプロジェクトを実行するだけで、Webアプリケーションが起動します。
DemoApplication.javaをいじってみる
ダウンロードしたdemoを実行しても、初期状態のままではブラウザに何も表示されません。
Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Sun Jan 01 20:47:47 JST 2017 There was an unexpected error (type=Not Found, status=404). No message available
こんな感じのメッセージが出るだけです。
なぜなら、Controllerがないからです。 HTTP GETを受け取るようにしましょう。
package com.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class DemoApplication { @RequestMapping("/") String hello() { return "Hello Spring Boot!"; } public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
Javaを修正した後に、localhost:8080にアクセスしてみます。
すると、
「Hello Spring Boot!」
と表示されます。
Spring Bootでテストコードを書く
Spring Initializerで生成したプロジェクトには、デフォルトでテストコードが含まれています。 たとえば、以下のようなコードを書いて、実行すると、上のコードをテストしてくれます。
package com.example; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.context.embedded.LocalServerPort; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.client.RestTemplate; @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) public class DemoApplicationTests { RestTemplate restTemplate = new RestTemplate(); @LocalServerPort int port; @Test public void contextLoads() { assertThat(restTemplate.getForObject("http://localhost:" + port, String.class), is("Hello Spring Boot!")); } }
Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発
- 作者: 株式会社NTTデータ
- 出版社/メーカー: 翔泳社
- 発売日: 2016/07/21
- メディア: 大型本
- この商品を含むブログ (1件) を見る