在我的项目中,我想使用特定于环境的属性文件。例如,如果我将其运行到开发中,则应使用application.dev.properties,在生产中应使用application.prod.properties,依此类推。
我的资源文件夹中有下面两个文件。
每个文件中都有一个如下所示的属性。
对于产品
server.database.host=192.168.1.1
对于开发
server.database.host=192.168.12.125
我有一个像下面这样的课程
public class DataSource { @Value(${server.database.host}) String host;
上面的代码始终采用prod设置(application.properties)文件,即使我为dev这样的开发人员提供了适当的参数 --spring.profiles.active=dev
--spring.profiles.active=dev
以下是我用来加载dev属性文件的命令。
java -jar myjar.jar --spring.profiles.active=dev
它还打印活动配置文件是dev,但它始终连接到prod db。
我注意到了一些问题:
@Value
String
@Value("${server.database.host}")
application-{profile}.properties
application-dev.properties
-D
java -Dspring.profiles.active=dev -jar app.jar