フリーランスになる人のブログ

フリーランスになります

初めてのSpring Boot

次にアサインされるプロジェクトでSpring Bootなるものを使うらしいので自分への備忘録としてまとめます。

 

 Spring Boot is なんぞ?

Javaフレームワーク。これ単体で完結する訳ではなく、Spring MVCなどの別のフレームワークを組み合わせて利用することでWebアプリケーションの開発を簡潔化する。

Spring Bootの基本構成

全部で6つの項目で構成されている。

スターター

依存関係を設定するためのモジュール。ライブラリの準備やそのバージョンの選定等の面倒臭い作業をこれ1つでまとめて設定できる。

ビルドツール

なくても問題ないみたいだけど、依存関係の管理が楽なのでビルドツールの使用が推奨されている。次の案件ではGradleを利用するみたいなのでそれをメインにまとめたいと思う。

そのほかにもMavenとかAntも使えるみたい。

コンフィグレーションクラス

XMLファイルにまとめることもできるけど、Javaベースのコンフィグレーションが推奨されますよって話みたい。コンフィグレーションファイルを分割することも可能?

勉強が進んできたらここは追記修正する。

オートコンフィグレーション

明示的に設定したコンフィグレーション以外は自動でコンフィグレーションが設定される。

意図を持って変更したい場合以外は特にコンフィグレーションの記述はいらない。

オートコンフィグレーションを利用するためには以下の設定をプライマリに設定する。

// どっちかを設定
@EnableAutoConfiguration
@SpringBootApplication

メインアプリケーション

アプリケーションの起動メソッドを呼び出す大元のクラス。

ルートパッケージに配置することが推奨される。テンプレートとしてメインアプリケーションで@Configureationと@EnableAutoConfiruretaionと@ComponentScanを指定することがほとんどみたい。

ほかにも@SpringBootApplicationを設定して、EnableAutoConfigurationとComponetScan属性をカスタマイズもできる。

設定ファイル

アプリケーションを起動すると下記にある設定ファイル(application.properties)を読み込もうとする。

  1. カレントのサブディレクトリconfig
  2. カレントディレクト
  3. クラスパスのパッケージconfig
  4. クラスパスのルート

数字の順に優先度が高くなっているので同じ項目を複数の設定ファイルで記述したら優先度の高いもので上書きされる。

.propertiesファイル以外にも.yamlファイルで記載することもできるみたいなので好き好きで使い分けができる。

利用方法としては設定クラスの読み込みと設定値の個別読み込みがあるみたい。

まとめ

SpringBootを使うとWebアプリケーション開発が楽になりますよ。

スターターで環境構築をして、設定ファイルで各種設定をする。コンフィグレーションを記述したメインアプリケーションクラスを作成して、Gradleでビルドしてアプリケーションを起動する。

今のところこんな理解。間違ってたら適宜修正しようと思います。