カテゴリ: Spring 更新日: 2026/02/13

Spring Bootのapplication.ymlとapplication.propertiesの使い方を完全解説!初心者にもわかる設定ファイルの基本と実践活用

application.yml/properties入門:基本と実運用の勘所
application.yml/properties入門:基本と実運用の勘所

先生と生徒の会話形式で理解しよう

生徒

「Spring Bootの設定ファイルって、application.ymlとかapplication.propertiesがありますけど、どうやって使い分ければいいんですか?」

先生

「それはいい質問ですね。Spring Bootではアプリケーションの設定を外部ファイルで管理するのが基本です。application.ymlapplication.propertiesはどちらもそのためのファイルなんですよ。」

生徒

「どっちを使えばいいとか、書き方に違いはあるんですか?」

先生

「それでは、基本から実際の開発現場で役立つポイントまで、詳しく見ていきましょう!」

1. Spring Bootの設定ファイルとは何か?

1. Spring Bootの設定ファイルとは何か?
1. Spring Bootの設定ファイルとは何か?

Spring Bootでは、アプリケーションの挙動を設定するために、設定ファイルを使用します。最もよく使われるファイルが、application.propertiesapplication.ymlです。

これらの設定ファイルは、データベース接続情報やサーバーポート、ロギング設定など、さまざまなプロパティを記述するために使われます。

2. application.propertiesの基本的な書き方

2. <code>application.properties</code>の基本的な書き方
2. application.propertiesの基本的な書き方

application.propertiesは、シンプルなキーバリュー形式で記述します。初学者にもわかりやすく、Javaのプロパティファイルと同じ書き方です。


server.port=8081
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=secret
logging.level.org.springframework=DEBUG

キーと値の間は=または:で区切りますが、どちらでも動作します。

3. application.ymlの基本的な書き方

3. <code>application.yml</code>の基本的な書き方
3. application.ymlの基本的な書き方

application.ymlは、YAML形式で記述されるため、階層構造を持たせることができ、視認性が高いのが特徴です。


server:
  port: 8081

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: secret

logging:
  level:
    org.springframework: DEBUG

インデントはスペース2つ以上で揃えましょう。タブは使用しないよう注意が必要です。

4. どちらを使うべき?propertiesymlの選び方

4. どちらを使うべき?<code>properties</code>と<code>yml</code>の選び方
4. どちらを使うべき?propertiesymlの選び方

初心者にはapplication.propertiesの方が取り掛かりやすいですが、設定が増えてくるとapplication.ymlの方が構造的に管理しやすくなります。

  • 設定が少ない場合 → application.properties
  • 複雑な階層構造 → application.yml
  • チーム開発で可読性重視 → application.yml

5. Spring Bootのプロファイル設定(dev・test・prod)

5. Spring Bootのプロファイル設定(dev・test・prod)
5. Spring Bootのプロファイル設定(dev・test・prod)

本番環境・開発環境・テスト環境などで設定を分けたいときには、Spring Bootの「プロファイル機能」を使います。

まず、アクティブなプロファイルを設定します:


spring.profiles.active=dev

そして、それぞれのプロファイル用ファイルを作成します:

  • application-dev.yml
  • application-test.yml
  • application-prod.yml

これにより、環境ごとの設定を明確に分離して管理できます。

6. プロファイル毎の設定の具体例

6. プロファイル毎の設定の具体例
6. プロファイル毎の設定の具体例

# application-dev.yml
server:
  port: 8081
spring:
  datasource:
    url: jdbc:h2:mem:testdb
    username: sa
    password:

# application-prod.yml
server:
  port: 80
spring:
  datasource:
    url: jdbc:mysql://prod-db:3306/proddb
    username: prod_user
    password: prod_pass

このように、本番と開発で接続先やポート番号を分けることで、安全性と効率性を両立できます。

7. 外部ファイルで設定を分離するテクニック

7. 外部ファイルで設定を分離するテクニック
7. 外部ファイルで設定を分離するテクニック

セキュリティの観点から、パスワードなどは環境変数や外部ファイルに分けることもできます。

たとえば、コマンドラインで以下のように起動します:


java -jar app.jar --spring.config.location=classpath:/application.yml,file:/etc/config/

こうすることで、アプリ本体とは別に設定を安全に管理できます。

8. よくあるエラーとその対策

8. よくあるエラーとその対策
8. よくあるエラーとその対策

Spring Bootの設定ファイルで初心者がつまずきやすいポイントを紹介します。

  • インデントエラー:YAML形式ではインデントが命です。必ずスペースで揃えること。
  • キーのスペルミス:特にspring.datasource.urlなど、正確なキー名を確認しましょう。
  • プロファイルが有効になっていないspring.profiles.activeの設定漏れに注意。

9. Spring Boot 3系での変更点と注意事項

9. Spring Boot 3系での変更点と注意事項
9. Spring Boot 3系での変更点と注意事項

Spring Boot 3以降では一部プロパティの仕様が変更されており、特にセキュリティやマイグレーションに関する項目で影響を受ける場合があります。

  • 一部のデフォルト値が変更
  • 非推奨のプロパティが削除
  • 構成がより厳格にチェックされる

設定を記述する際は、公式のプロパティ一覧ドキュメントで確認するのがベストです。

10. 設定ファイルのベストプラクティスまとめ

10. 設定ファイルのベストプラクティスまとめ
10. 設定ファイルのベストプラクティスまとめ
  • 基本的な設定はapplication.ymlに集約
  • 環境ごとの違いはプロファイル分割
  • 機密情報は外部ファイルや環境変数で管理
  • 設定は必ずGitでバージョン管理
  • 設定内容にはコメントをつけてチーム内共有を促進

Spring FrameworkやThymeleafを使った Webアプリ開発の全体像をやさしく理解したい人には、 この入門書が定番です。

Spring Framework超入門をAmazonで見る

※ Amazon広告リンク

関連記事:
カテゴリの一覧へ
新着記事
New1
Spring
Spring Bootの設定・プロパティ・プロファイルの外部化優先順位を完全解説!初心者にもわかる設定ファイルの読み込み順
新規投稿
New2
Spring
SpringDataJPAのJPAクエリメソッド「Not」の使い方を完全ガイド!初心者向け解説
更新記事
New3
Spring
SpringDataJPAのJPAクエリメソッド「EndingWith」の使い方を完全ガイド!初心者向け解説
更新記事
New4
Java
JavaのBooleanクラスの使い方を完全ガイド!初心者でもわかる真偽値の操作
新規投稿
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Spring
Springの@Componentアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
No.3
Java&Spring記事人気No3
Servlet
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.4
Java&Spring記事人気No4
Spring
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.5
Java&Spring記事人気No5
Spring
Spring Data JPA入門!findAll()やfindBy**()の使い方などデータベース操作の基礎を学ぶ
No.6
Java&Spring記事人気No6
Java
Javaの@SuppressWarningsアノテーションの使い方を完全ガイド!初心者でもわかる警告の抑制方法
No.7
Java&Spring記事人気No7
Spring
SpringのModelクラスの使い方を完全ガイド!初心者でも安心
No.8
Java&Spring記事人気No8
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介

💻 作業効率アップに

長時間のコーディングでも疲れにくい♪ 静音ワイヤレスマウス

Logicool Signature M750 を見る

※ Amazon広告リンク