In my project I want to use environment specific property file. For example if I am running it into development it should use application.dev.properties, for production it shoul
Try adding a vm argument in the run configuration:
-Dspring.profiles.active=dev
If running on Eclipse or STS, then use following steps:
Right click on project -> Run As -> Run Configuration.
In the new window, select spring boot application on left side, and add details on the right and in the profile dropdown, select dev.
Click apply and run.
A few issues I noticed:
@Value
property name should be a String
like @Value("${server.database.host}")
application-{profile}.properties
format, e.g. application-dev.properties
-D
like java -Dspring.profiles.active=dev -jar app.jar
You are supposed to specify which profile to run with as follows:
mvn spring-boot:run -Dspring-boot.run.profiles=foo,bar
Also see documentation: https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-profiles.html