menu
書いてる野郎
orebike@gmail.com
STS という Spring 専用 Eclipse みたいなやつがあるというのでそれでお手軽に済ませてみる。
ベースの環境は VMware Fusion 上で動いている Linux Mint 19
がっつり 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)
まずはダウンロード
公式から。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 を選ぶと、ズラズラ出てきて起動する。
ではソースをこのように書き換えてみる。
@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
になって反映される。