こんにちは、うっしーです。
今回は Spring Boot を学び始めた方に向けて、以下の基本ポイントを「ざっくり」わかりやすく解説していきます。
- Spring Bootってそもそも何?
- プロジェクト構成の中身ってどうなってるの?
@SpringBootApplicationって何者?.ymlと.propertiesの違いって?
「本を読んだけど、正直よくわからなかった」
「とりあえず手を動かしながら理解したい」
という方にとって、入り口となるような記事になればうれしいです。
Spring Bootとは?ざっくり概要
Spring Bootとは、Javaの人気フレームワーク「Spring」をもっとシンプルに、もっと早く動かせるようにした軽量な開発フレームワークです。
主な特徴
- 最小構成でアプリを起動できる
- TomcatなどのWebサーバが組み込み済み
- XML設定がほぼ不要。コードで完結できる
main()メソッドで普通のJavaアプリのように実行可能
これにより、「WebアプリやAPIを短時間で立ち上げたい」という現場において非常に重宝されているのがSpring Bootです。
プロジェクト構成の基本
Spring Bootでアプリを作成すると、以下のような構成になります:
src ├── main │ ├── java │ │ └── com.example.demo │ │ └── DemoApplication.java │ └── resources │ ├── application.yml(または .properties) │ ├── static(画像やCSSなどの静的ファイル) │ └── templates(HTMLテンプレートなど) └── test └── java(テストコード)
よくあるフォルダの意味
main/java:Javaのソースコードを格納する場所resources:HTMLテンプレートや設定ファイルなど。コンパイル後に読み込まれるtemplates:ThymeleafなどのHTMLエンジンを使う場合に使われるstatic:画像・CSS・JSなど静的ファイルを置く場所
ポイント:
resources配下のファイルは、クラスパスに自動的に含まれるため、設定ファイルやテンプレートの読込がしやすくなります。
@SpringBootApplication の正体
Spring Bootアプリのエントリーポイント(起動クラス)には、以下のようなコードがよく書かれています:
@SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
この @SpringBootApplication というアノテーションには、実は3つの重要なアノテーションが合体しています: 含まれているアノテーション 役割 @Configuration 設定クラスであることを示す @EnableAutoConfiguration 自動構成を有効にする @ComponentScan 同パッケージ配下のクラスを自動で読み込む
→ このアノテーションを付けるだけで、設定・構成・スキャンの準備がすべて整うという、まさに“玄関”のような存在です。
application.yml と .properties の使い分け
Spring Bootでは、アプリの動作設定を application.yml または application.properties に記述します。
どちらも同じ目的で使えますが、書き方と見やすさが違います。
比較表
項目 .properties.yml 書式 キー=値 ネストされた階層構造 読みやすさ 単純でフラット 複雑な構成に強い 例 server.port=8080 `server: port: 8080`
どっちを使えばいい?
- 簡単な設定だけなら
.propertiesが手軽 - 本番環境や複雑な構成なら
.ymlの方が視覚的に把握しやすい
実務では
.ymlが主流ですが、チームによって好みが分かれるところです。
まとめ
- Spring Bootは、Javaアプリを高速に立ち上げられるフレームワーク
- プロジェクトには特有のフォルダ構成がある(resourcesなど)
@SpringBootApplicationは3つの重要アノテーションの複合体- 設定ファイルは
.propertiesまたは.ymlを用途に応じて選択
次回は、@Component・@Service・@Repository の違いや使いどころを掘り下げていきます。
ここまで読んでくださりありがとうございました!

コメント