如何使用可配置属性部署Spring Boot Web应用程序

时间:2018-05-04 12:59:37

标签: java spring spring-boot deployment

经过研究,我了解到部署spring boot web应用程序的常用方法是作为war文件。但是,我有一个为公司制作的项目,现在我需要向他们发送项目来试用它们,他们需要能够配置application.properties或具体的数据库位置和凭证。所以我的问题是我需要以不同的方式部署项目还是有办法使war文件应用程序属性可以在以后修改?

2 个答案:

答案 0 :(得分:0)

您是否考虑过 Spring Cloud Config Server https://cloud.spring.io/spring-cloud-config/multi/multi__spring_cloud_config_server.html

这是配置和外部化属性的最佳方式。如果不是,我强烈建议加入该组件。使用您的Spring启动应用程序插入配置服务器,无需太多编码,您的应用程序将更易于管理和扩展。

答案 1 :(得分:0)

Spring Boot应用程序实际上通常打包为嵌入了Tomcat的Uber jar。如果需要,您可以使用spring-boot maven plugin或类似的gradle插件来完成此操作。

一旦处于此状态,jar就可以正常启动,您可以在调用时覆盖配置属性。

java $JAVA_OPTS -Dspring.service.name=my-service -jar /my-service.jar

编辑:这不是解决此问题的唯一方法,@ piy26的answer是将外部配置注入企业级弹簧启动应用程序的绝佳解决方案。但是,对于您所描述的情况,您需要公司设置自己的配置服务器,而更多的是它们仍然必须覆盖配置服务器位置属性,以便应用程序从其配置服务器中提取属性。对于您的示例,您似乎需要最简单的方法来覆盖jar中的应用程序属性。