我有一个 Spring Boot 应用程序,当服务器字段值放入 application.properties 并读取时,该应用程序工作正常。但是,我的应用程序可以具有动态服务器值。因此,在运行java -jar your-app.jar server nam
应用程序时,将获取 nam 服务器的所有属性,java -jar your-app.jar server euro
并将获取 Euro 服务器的所有属性。我怎样才能做到这一点。我正在考虑两个文件 application.nam.properties 和 application.euro.properties 并通过它java -jar your-app.jar --spring-config-location=file:///application.euro.properties
您可以使用活动配置文件来完成此操作。在您的示例中,您将有一个
application-nam.properties
和一个application-euro.properties
。欧元属性将使用 激活--spring.profiles.active=euro
。您可以直接在 中设置任何常见属性application.properties
。文档可以在这里找到
正如 Josh 上面提到的,您必须在应用程序资源文件夹中创建 application-euro.properties 文件。当您想通过命令传递配置时,有两种方法可以获取此功能。
1.在命令中使用 VM 参数,如下所示
java -jar -Dspring.profiles.active=欧元 your-app.jar
-D 在上述命令中很重要。Spring Boot 使 -D 参数可用作可从 Spring 环境实例访问的属性。( Spring Doc )
2.程序参数
如果你想通过配置来获得它。使用这个命令
java -jar your-app.jar --spring.profiles.active=欧元 --spring.config.location=c:\config