【发布时间】:2021-05-10 00:00:38
【问题描述】:
我想开发一个 API,让非程序员可以设置电子邮件属性,如端口或主机。我发现我可以使用 Spring Boot 注释 @ConfigurationProperties 在类中加载属性。
@Configuration
@ConfigurationProperties(prefix = "company.mail")
@Data
public class ConfigProperties {
private Long port;
private String host;
}
我可以使用例如检索属性getPort 并使用 setPort 设置它们。
但是,使用这种方法,当我使用 setPort 或 setHost 时,application.properties 文件中的实际值不会改变。因此,当我重新启动应用程序时,更改会丢失。有没有办法实际更改 application.properties 文件中的值,或者我是否需要一个数据库,以便在应用程序启动时从中加载属性?
【问题讨论】:
-
您可以使用外部配置文件。检查弹簧文档:docs.spring.io/spring-boot/docs/1.2.3.RELEASE/reference/html/…
-
此外,您可以使用以下有用的教程在 git 上外部化您的配置文件。 medium.com/nerd-for-tech/…
标签: java spring spring-boot properties