JavaのWebアプリケーション開発フレームワークによる、Webサイト開発の顛末記です。

EclipseのMavenを使った、Spring-MVC、Thymeleaf、MyBatis 等のプログラミングテクニックを、
備忘録的に記録しています。実際に動くソースコードを多用して説明していますので、
これからEclipseや、Spring-MVCを始めたいと思っている人にとって、少しでも参考になれば幸いです。
■Spring Boot の小径 第2歩 Spring Bootプロジェクト
2-1)Gradleプロジェクトの生成
それでは早速、Sprin Boot で動くプロジェクトの作成にかかります。
Ecliseのビューのレイアウトは、「■Eclipse の小径 2-1)Eclipseの初期設定
と同じレイアウトで行いますので、あらかじめご了承ください。

「ファイル」ー「新規」ー「その他」を選択します。
Spring Boot プロジェクト作成

 

「ウィザードを選択」ダイアログが開くので、
「Spring」ー「Spring スターター・プロジェクト」を選択して「次へ」ボタンをクリックします。
プロジェクトウィザード選択

 

「新規 Spring スターター・プロジェクト」ダイアログが開きます。
名前や、グループなどは良しなに決めてもらうとして、
ここでは、「デフォルトロケーションを使用」のチェックを外して、
プロジェクト配下のリソースをEcliseワークスペース外に置くようにします。
理由は、「■SpringMVC の小径 1-1)Mavenプロジェクトの生成」でも触れましたが、
将来、プロジェクトを git で管理する際に、プロジェクトを Eclipseワークスペース内におくとあまりよろしくないためです。
ここでは、参考として、C:¥Eclipse.gitLocal¥bootLabo とします。

プロジェクトの型は、「Gradle(STS)」とします。
パッケージは、後々の事を考慮して「War」としておきます。
Eclipse上で動かすだけなら、「jar」でも問題ありませんが、
公開サーバーにデプロイすることを考えると「War」の方が何かと便利なためです。
Javaバージョンは、最低 1.8 以上なので、デフォルトのままで構いません。

以上を確認の上、「次へ」ボタンをクリックします。
新規 Spring スターター・プロジェクト

 

Spring Boot バージョン確認と、依存関係選択ダイアログが開きます。
Spring Bootバージョンは「1.3.8」を選択します。
  (現時点で、1.4.3とかもっと新しいバージョンもありますが、それはまたいずれ)
依存関係は、今回の旅の最終目的をにらんで
・コア ー「AOP」
・SQL ー「PostgreSQL」 (MySQLでやる場合はそちらを選んでください)
・テンプレートエンジン ー「Thymeleaf」
・Web ー「Web」
をチェックして、「次へ」ボタンをクリックします。
Spring Boor Version

 

なんかよくわからない、確認ダイアログが表示されるので、
 ※) プロジェクトのひな型のダウンロードURLらしい。。。
「完了」ボタンをクリックします。
最終確認

 

プロジェクト作成が完了すると、
Ecliseのナビゲータビューにたくさんのフォルダが自動生成されます。
今回導入した、Gradleのビルドスクリプト「build.gradle」も生成されています。
Maven の pom.xml と同様の重要なファイルとなりますが、
しばらくは、手を付けないでこのまま動かす予定です。
※)正直言うと、まだbuild.gradleの使い方をよく知らない(ToT)
プロジェクト完了

 

よく見ると、ソースツリー配下に、
BootLaboApplication.javaと、ServletInitializer.java という2つのJavaソースができています。
BootLaboApplication.javaは、このプロジェクトを起動するための main クラスです。
ServletInitializer.javaは将来的に、Tomcat環境に移植する際に必要となるクラスですが
今のところは必要ありませんが、この2個のクラスは重要なので
間違っても削除してはいけません。

 

ついでに、もう一つ注意点。
プロジェクトが作成されると、プロジェクト直下に、.gitignore というファイルが作られます。
中身はテキストファイルで、おおまか以下のようになっていると思います。

このファイルは、プロジェクトを git でリポジトリにコミットする際に、
リポジトリにコミットしたくないファイル(またはフォルダ)を指定する定義ファイルなのですが
中を確認するとデフォルトで、.classpath、.project、.settings などが定義されています。
共有リポジトリから、gitのURL複製でプロジェクトを複製する際に、.project がコミットされていないと
色々と面倒が多いので、.gitignoreから、少なくとも.projectは外しておいた(コメントアウト)方がいいと思います。
 ※)あくまで個人的な好みですが私は、.classpath、.settings も外しています。

gitなんて使わんぜよ! とかいう人には関係のない話なので無視してください。