経緯
- SpringBoot+MavenでのHelloWorldをIntelliJ IDEAのUltimateエディションで書いてみたのと同じことを、Communityエディションで書くとどうなるかやってみた。の時に、
Spring Initializr
のWebサイト版の存在を知ったので試しにこれを使ってやってみた。
Webサイト版Spring Initializr
- https://start.spring.io/
-
Search for dependencies
欄に依存関係の名前を入力すると候補がリスト表示されるので、その中から選択する。すると、選んだものがSelected dependencies
欄に表示されるので、それを繰り返していく。 - 2文字以上入力すれば候補が表示されるので語尾があいまいでもok。
- 例えば
template
と入力するとテンプレートエンジン系がリストされるなど、カテゴリ?説明?とかでも検索できるっぽい。 - 名前が分からないときは、下部にある
Switch to the full version
をクリックすると、その下に選択可能なすべての依存関係が表示されるのでチェックボックスを付けていけばよい。 - また、GroupId・ArtifactId以外のプロジェクトメタデータをデフォルト以外の値で指定したい場合も、この操作によって入力欄が表示される。
- 指定がすべて終わったら
Generate Project
ボタンを押すと、プロジェクトのzipファイルがダウンロードされる。
感想
- Ultimate版のSpring Initializrにやや近い感じで作れる。
- 依存関係を補完や選択とかで選べる
- pom.xmlにSpringBoot用の必要な設定を自動的に書いてくれる
- アプリケーションクラスを自動的に作ってくれる
- でもダウンロードして解凍して開くとかの手間がちょっと微妙か。
- まぁでも最初の一回だけだからいいか。
環境
- Windows10 Home
- IntelliJ IDEA Community 2017.2.4
- JDK1.8
あと、使用したSpringBootのバージョンは、この時点でのCURRENT GAの1.5.7
手順
Spring Initializrサイトでプロジェクトを作成
- https://start.spring.io/
- 依存関係で
Web
とThymeleaf
を選ぶ。あとはデフォルト - zipファイルをダウンロードし、好きな場所に解凍
IDEAを起動する
プロジェクトを開く
- すでに何らかのプロジェクトが開いていたら、
File
-Open
... - プロジェクトが開いていない状態だったら、
Open
をクリック -
Open File or Project
の画面が開く
- 解凍したプロジェクトを指定して
OK
をクリック - プロジェクトが開く
- 画面右下に
Maven projects need to be imported
と表示されていたら、Enable Auto-Import
をクリックしておくと、pom.xmlを書き換える都度、必要な依存関係を自動的にインポートしてくれる。
コントローラの作成
-
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
アプリケーションクラスを右クリックし、Run DemoApplication.main()
を選択 - アプリケーションが起動され、コンソールログがつらつらと表示され始める
- そのうち
Tomcat started on ...
と表示され、内部のTomcatが起動されたことがわかる - 最後に
Started DemoApplication in ...
と表示されれば起動完了
動作確認
- ブラウザから、
localhost:8080
にアクセスする
- できた。