経緯
- IntelliJ IDEAで、かつMavenを使って、SpringBootのHelloWorldを(なるべく)サクッと書いてみたい。
- ネットで検索してみると、Eclipseを使ったサンプルとか、IDEA+Gradleのサンプルとかはよく見かける。
- あと、結果をWebじゃなくてコンソールに表示するやつとかも多いが、結果はWeb画面に表示したいし、最低限のコントローラとかテンプレートとかも使ったサンプルにしたい。
- あと、UltimateのIDEAだと、SpringBootのサポート機能があって、よりサクッと作れそう。
環境
- Windows10 Enterprise
- IntelliJ IDEA Ultimate 2017.2.4
- JDK1.8
あと、使用したSpringBootのバージョンは、この時点でのCURRENT GAの1.5.7
手順
IDEAを起動する
新規プロジェクトの作成
- すでに何らかのプロジェクトが開いていたら、
File
-New
-Project
... - プロジェクトが開いていない状態だったら、
Create New Project
をクリック -
New Project
の画面が開く
- 左のリストから
Spring Initializr
をクリック -
Project SDK
はPCに入っているJDKを適当に選択 -
Next
をクリック -
Project Metadata
の画面に切り替わる
- Mavenを使いたかったので、
Type
でMaven Project
を指定 - 他の項目はとりあえずこのままで
Next
をクリック -
Dependencies
の画面に切り替わる
-
Web
のWeb
と、Template Engines
のThymeleaf
を選択。 -
Next
をクリック
-
Project name
とProject location
を適当に設定。 -
Finish
をクリック。 - プロジェクトが作成される。
- 画面右下に
Maven projects need to be imported
と表示されていたら、Enable Auto-Import
をクリックしておくと、pom.xmlを書き換える都度、必要な依存関係を自動的にインポートしてくれる。
コントローラの作成
- 画面左のProjectビューの
demo
プロジェクトのツリーを開き、src
-main
-java
-com.example.demo
を右クリックし、New
-Java Class
を選択 -
Name
にcontroller.HelloController
と入力し、OK
をクリック - クラス宣言の上に
@Controller
アノテーションを追加 - クラスの中に
getHello()
メソッドを追加
@GetMapping
public String getHello() {
return "hello";
}
テンプレートの作成
-
demo
プロジェクトツリーのsrc
-main
-resources
-templates
フォルダを右クリックし、New
-HTML File
を選択 -
Name
にhello
と入力し、OK
をクリック -
<body>
タグにHello World!
と書く - あと、
<meta>
タグがこのままだと実行時にthymeleafのエラー(タグが閉じてないよ!エラー)になるので、末尾を/>
に書き換える
アプリケーションの起動
- 画面右上を見ると、すでに
DemoApplication
という名前で実行設定が作られているので、その横にある緑の三角ボタンをクリックする。 - アプリケーションが起動され、コンソールログがつらつらと表示され始める。
- そのうち
Tomcat started on ...
と表示され、内部のTomcatが起動されたことがわかる。 - 最後に
Started DemoApplication in ...
と表示されれば起動完了。
動作確認
- ブラウザから、
localhost:8080
にアクセスする。
- できた。