首页 > 解决方案 > 如何更改我的 application.properties 文件?

问题描述

我有一个 Spring Boot 应用程序,它连接到一个 MongoDB 数据库。

我可以在 server.properties 中配置的连接。对于当前的开发,我可以使用 localhost。但是对于后面的服务器实现,我需要配置一个新的 server.properties。

如何更改它,如果我启动程序,请使用 development.server.properties 或 consumer.server.properties 与不同的服务器连接?

标签: javaspringspring-boot

解决方案


选项 1:对于大多数真实单词应用程序,属性不直接与源打包,因为它可以包含敏感信息(例如数据库密码)。一个简单的解决方案是将应用程序属性放在文件系统上,然后使用 spring.config.location 参数引用它们

java java -jar demo-0.0.1-SNAPSHOT.jar -Dspring.config.location=/etc/demo/application.properties

通过这种方式,您可以将 application.properties 与打包的 jar 隔离开来,并且可以使用您的部署工具链(如 ansible)为每个环境相应地解析和替换值到 application.properties 文件中。

一些有用的文档可以在这里找到:https ://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

选项 2:使用配置文件。在类路径资源中,您可以拥有一个主 application.properties,它存储所有环境共有的属性,然后为每个环境使用一个 application-{env}.properties,具有特定的键,例如 application-dev.properties、application-int.properties、应用程序-prod.properties...

在启动时,您使用环境变量 spring.profiles.active 指定活动配置文件:

java -jar -Dspring.profiles.active=prod demo-0.0.1-SNAPSHOT.jar


推荐阅读