Spring Boot/HelloWorld(STSお手軽編)

Spring Boot/HelloWorld(STSお手軽編)

STS という Spring 専用 Eclipse みたいなやつがあるというのでそれでお手軽に済ませてみる。

ベースの環境は VMware Fusion 上で動いている Linux Mint 19

Java確認

がっつり 10 が入っている。やる気にさせます。

$ java --version
openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2, mixed mode)

STS のインストール

まずはダウンロード

https://spring.io/tools/sts

公式から。ver 3.9.6 だ

Linux 版を落とす。解凍して ~/bin あたりに設置する

こいつを実行したら、起動した。OK

~/bin/sts-bundle/sts-3.9.6.RELEASE/STS

プロジェクトを作る

STS が起動したら Eclipse 同様の Package Explorer が立ち上がっているので、 ここで右クリックして

New -> Spring Starter Project

を、選ぶ。

ダイアログが起動して、Service URL なる URL を聞かれる。 ワシャ、ローカルで実行したいだけで URL なんぞ無いワイという感じであるがどうする

しかしこれは

https://start.spring.io

のままでよいらしい。

次の Name はプロジェクトの名前なので

hellospringboot01

としよう

Location はデフォルト、つまり Workspace 以下としておく。

Type というのはビルドツールを指しているようだが、今回は Gradle2 とする

Packaging ビルド後の形式を指すが、jar にすれば単体で実行可能状態なモノが出来上がり、war にすれば実行環境にデプロイしないといけないやつが出来上がるようだ。

今回は目玉機能の一つでもあるので jar を選ぶ

Java のバージョンは、確認したように 10 を選択。

言語は Java とする。他にも JVM 系の言語が使えるようだ。

Group 以下・・・は maven とかの一番始めに書き込まれるパッケージ情報でプロジェクトのメタ情報であって別にこれを無茶苦茶書いたからといってどういうわけではないのでなんでもよい。

Package だけは変えておいてもいいだろう。

Next

次のページが開く。

Spring Boot のバージョンを選ぶ。デフォルトが 2.0.5 になってたのでそのままにする

その下で Spring の各モジュールを選ぶということになる。 このへんは maven の dependencies を書くのと変わりないだろう。

今回は Helloworld をウェブからのアクセスで出したいので Web → Web を選ぶ。

Full-stack web development with Tomcat and Spring MVC

こう書かれているのでこれだろう。

あとは JSP 的なテンプレートエンジンである Thymeleaf を選んでおく

でフィニッシュ。

外部のリポジトリから Spring 関連のライブラリがじゃんじゃんダウンロードされてくる。

最後完了とかなんとかが出ないんだが、とりあえずプロジェクトは出来たようだ

コントローラーの作成

チュートリアルを見るとここでコントローラーを作成するようなので作る

このようなクラスを作ってやる

@RestController
public class HelloController {
    @RequestMapping("/")
    public String index() {
        return "Hello Spring Boot";
    }
}

起動

プロジェクトを右クリックして Run As → Spring Boot App を選ぶと、ズラズラ出てきて起動する。

確認

ブラウザで http://localhost:8080/ にアクセスすると。

Hello Spring Boot

と表示された。

バカみたいに簡単である。

自動ロード

ではソースをこのように書き換えてみる。

@RestController
public class HelloController {
    @RequestMapping("/")
    public String index() {
        return "Hello Spring Boot Boot";
    }
}

ブラウザでリロードしてみたが表示は

Hello Spring Boot

のままである。

ではプロジェクトの build.gradle に

dependencies {
    compile('org.springframework.boot:spring-boot-starter-thymeleaf')
    compile('org.springframework.boot:spring-boot-starter-web')
    compile("org.springframework.boot:spring-boot-devtools")
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

このように spring-boot-devtools を追記する。

そしてプロジェクト全体をリフレッシュすると、ダウンロードが始まるのだ。

再び、プロジェクトを右クリックして Run As → Spring Boot App を選ぶと、ズラズラ出てきて起動する。 これで再び、localhost:8080 にアクセスすると

Hello Spring Boot Boot

で表示される。ではコードから Boot を一つ削除して戻してみる。 削除した瞬間にリロードが始まる。

再びブラウザで localhost:8080 にアクセスすると

Hello Spring Boot

になって反映される。

java/spring/spring_boot/dev/helloworld_sts.txt · 最終更新: 2018-11-01 16:36 by ore