Springboot - multiple property files per profile

Gary picture Gary · Nov 18, 2014 · Viewed 7.8k times · Source

Looking for best approach in configuring multiple Profile specific property files in Springboot application. Below is an example:

-resources
   -- application.properties
       -- dev
             -- application-dev.properties
             -- ldap-dev.properties
             -- quartz-dev.properties
             -- etc-dev.properties
     -- test
             -- application-test.properties
             -- ldap-test.properties
             -- quartz-test.properties
             -- etc-test.properties
     -- prod
             -- application-prod.properties
             -- ldap-prod.properties
             -- quartz-prod.properties
             -- etc-prod.properties

The application.properties and application-profile.properties files are loading okay. I'm looking for a recommended approach in loading the other profile specific property files. I'm not sure if there is a way to load all property files from a folder based on a profile?

Answer

Dave Syer picture Dave Syer · Nov 19, 2014

You have quite a lot of flexibility with the built in configuration listener. E.g. You could set spring.config.name=application,ldap,quartz,etc and spring.config.location=classpath:/,classpath:/dev,classpath:/prod,classpath:/test. Or the equivalent env vars. The links in Selim's answer document the basic behaviour and config options.