Profile Specific Files
As well as application
property files, Spring Boot will also attempt to load profile-specific files using the naming convention application-{profile}
.
For example, if your application activates a profile named prod
and uses YAML files, then both application.yml
and application-prod.yml
will be considered.
Profile-specific properties are loaded from the same locations as standard application.properties
, with profile-specific files always overriding the non-specific ones.
If several profiles are specified, a last-wins strategy applies.
For example, if profiles prod,live
are specified by the spring.profiles.active
property, values in application-prod.properties
can be overridden by those in application-live.properties
.
The last-wins strategy applies at the location group level.
A For example, continuing our /cfg application-live.properties /ext application-live.properties application-prod.properties When we have a
When we have
|
The Environment
has a set of default profiles (by default, [default]
) that are used if no active profiles are set.
In other words, if no profiles are explicitly activated, then properties from application-default
are considered.
Properties files are only ever loaded once. If you have already directly imported a profile specific property files then it will not be imported a second time. |