Spring Bootでapplication.propertiesを環境ごとに切り替える方法をご紹介します。
条件
- Spring Boot 2.1.4
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です。