今日の目標
SpringBootを使ってみる
使うもの
- Eclipse(Pleiades)4.5 mars
- Spring Tool Suite(STS) for Eclipse 3.7.2.RELEASE
参考
- 春だから!Javaでの開発にSpring Bootを使おう!
- stackoverflow | my Eclipse just keep reporting errors but I don't know why
Spring Bootとはの前にSpringってなんだ
Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークである。(Wikipedia | Spring Framework)
言語ジャナカッタノカ
Spring Bootとは
Spring Bootは「コードを全く生成することなく、XML構成ファイルなしで本番環境で利用できるSpringベースのアプリを作成し、すぐに実行できるようにすること」とのことです。(Spring Bootで高速アプリ開発)
Springの設定ファイルが少なくなったバージョンってことなのか?Spring Frameworkとそれほど変わらないのかな。
何はともあれSpring Framework自体初めて使うのでどんな感じなのか触ってみたいと思います。
ではスタート
EclipseでSpringのプラグインをGETしたら、Sprign Starter Project
を新規作成します。
HelloSpringBootプロジェクトを作ります。あとはそのまま。Groovyでも作れるんですね。
次が感動した。これポチポチしてけば必要なものが使えるようになるのかな!すごいねこのプラグイン!今回は最低限のことしかしないのでWebのみチェック入れます。と思ったけどなんとなくLombokもチェック入れておこう。
次が何なのかわからなかった。
参考にしたサイトによると、
Spring Start Projectは、Springのサイトにアクセスして、必要なファイルをダウンロードして作成してくれます。
とのこと。必要なファイルとは…?とりあえずこのままで完了を押します。
まずはMaven installで必要なものをinstallします。(プロジェクトを右クリック -> 実行 -> Maven install
終わったらsrc/main/javaにControllerクラスを追加。
package com.example;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("/")
public String index() {
Person person = new Person("tori", "nist");
return "Hello " + person.getName() + ", Spring Boot!";
}
@RequestMapping("/sample")
public String sample(String message) {
return message;
}
}
単なるPersonクラスも追加。
package com.example;
public class Person {
private String firstName;
private String familyName;
private String name;
public Person(String firstName, String familyName) {
this.firstName = firstName;
this.familyName = familyName;
this.name = firstName + " " + familyName;
}
public String getName() {
return name;
}
}
実装し終わったら、HelloSpringBootApplication.javaを右クリック -> 実行 -> Spring Boot Appで実行。するとTomcatが8080ポートで立ち上がります。
@RequestMapping("/")や@RequestMapping("/sample")はリクエストパスを指定してるアノテーションとのことです。
ブラウザでhttp://localhost:8080/
にアクセスするとindexメソッドが実行され、画面にreturnで返した文字列が表示されます。
また、http://localhost:8080/sample?message=Welcome%20to%20SpringBoot!
でアクセスするとsampleメソッドが実行されます。
簡単にRestアプリケーションが作れます。すごいなSpring Boot。次は画面ありのアプリを作りたいですね。
今回のエラー発生
プロジェクト作ったところで出たエラーです。
stackoverflowを見てると、前に入れていたJDT Weaving for Scala
が関係している、みたいな記述がありました。今回はScalaを使うわけではないので(WorkSpaceも分けているので)Scala IDEを削除しました。再起動後、無事にプロジェクトが生成されていることを確認。プラグインが影響し合うことなんてあるのか…。
追記:入れるプラグインを間違えていたのが原因かもしれません。最初入れていたのはSpring IDE 3.7.2.RELEASE
でした