サイトアイコン 知的好奇心

Spring Bootでapplication.propertiesを環境ごとに切り替える方法

Spring Bootでapplication.propertiesを環境ごとに切り替える方法をご紹介します。

条件

application.propertiesの切り替え

開発環境と本番環境とで、「DB接続先」や「ログレベル」が異なり、切り替える必要があるケースがあると思います。
都度、application.propertiesの内容を書き換えるのは手間がかかります。

下記のようにすれば、参照先プロパティファイルを簡単に切り替えることが出来ます。

設定例

以下のように、application.propertiesの他に、「application-development.properties」と「application-production.properties」を用意します。

application.properties

spring.profiles.active=development

application-development.properties

spring.security.user.name=admin
spring.security.user.password=password
spring.jpa.database=POSTGRESQL
spring.datasource.url=jdbc:postgresql://localhost:5432/testdb
spring.datasource.username=postgres
spring.datasource.password=password
spring.jpa.hibernate.ddl-auto=validate
spring.jpa.properties.hibernate.format_sql=true
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

application-production.properties

spring.security.user.name=admin
spring.security.user.password=password
spring.jpa.database=POSTGRESQL
spring.datasource.url=jdbc:postgresql://localhost:5432/productiondb
spring.datasource.username=postgres
spring.datasource.password=password
spring.jpa.hibernate.ddl-auto=validate
spring.jpa.properties.hibernate.format_sql=true
logging.level.org.hibernate.SQL=INFO

ポイント

application.propertiesでは、「spring.profiles.active=」に有効にするプロパティを指定します。
(上記の例では、「application-development.properties」が有効になる。)

⇒本番環境に切り替える場合、「spring.profiles.active=production」とすればOKです。

モバイルバージョンを終了