Application Properties & YAML
application.properties/yml、@Value、@ConfigurationProperties、profiles、外部プロパティによる設定
1Spring Bootにおける application.properties と application.yml の主な違いは何ですか?
Spring Bootにおける application.properties と application.yml の主な違いは何ですか?
回答
どちらのファイルも Spring Boot の設定に使われますが、異なる形式を採用しています。YAML 形式(.yml)はインデントによる階層構造を使えるため、複雑な設定でも読みやすくなります。properties 形式(.properties)はフラットな key=value 構文を使います。Spring Boot はどちらか一方を自動的に読み込み、両方が存在する場合は .properties が優先されます。
2Spring Bootで組み込みサーバーのポートを変更できるプロパティはどれですか?
Spring Bootで組み込みサーバーのポートを変更できるプロパティはどれですか?
回答
server.port プロパティは組み込みサーバー(Tomcat、Jetty、Undertow)の HTTP ポートを設定します。デフォルトでは Spring Boot はポート 8080 で起動します。このプロパティは application.properties(server.port=9000)または YAML(server: port: 9000)で定義できます。さらに JVM 引数(-Dserver.port=9000)や環境変数で上書きすることも可能です。
3ローカルの PostgreSQL データベース向けに、YAML で spring.datasource.url プロパティをどのように宣言しますか?
ローカルの PostgreSQL データベース向けに、YAML で spring.datasource.url プロパティをどのように宣言しますか?
回答
YAML では、階層的なプロパティはインデント(タブではなくスペース)を使います。spring.datasource.url プロパティは spring → datasource → url に分解されます。各レベルは 2 つのスペースでインデントされます。この階層構造により、フラットな properties 版(spring.datasource.url=jdbc:postgresql://localhost:5432/mydb)よりも設定が読みやすくなります。
Spring Boot アプリケーションの起動時に 'dev' profile を有効化するにはどうしますか?
Spring Bean に設定プロパティを注入できるアノテーションはどれですか?
+13 面接問題