Spring profiles (https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-definition-profiles-java) let you change the way your application behaves based on environments. This is achieved using the @Profile annotations and profile-specific configuration files, which can be activated by specifying the spring.profiles.active property. Based on the profile that we set here, Spring will choose the appropriate application.properties|application.yml files and will include/exclude components that are included/excluded for the specific profile using the @Profile annotation in the Java source code.
For example, if we set spring.profiles.active=prod, all the Spring components that have @Profile("prod") will be instantiated and any component that has @Profile("!prod") will be excluded. Similarly, Spring will load...