在 Spring Boot 中哪里定义所有环境中通用的属性?

2024-05-07

我几乎没有所有环境共有的属性(例如spring.jpa.properties.hibernate.ejb.interceptor)我将其保存在资源目录下的 application.properties 中。

我在基于环境的属性文件中定义了数据库属性,在启动应用程序时通过命令行从外部传递该属性:

java -jar -Dspring.config.location=<path-to-file> mySpringBootProject.jar

然而,spring.jpa.properties.hibernate.ejb.interceptor当我从外部传递属性文件时,未设置。

即使在外部文件中,我是否也需要定义公共属性? 或者有没有一种方法可以在一个地方定义它们,在不被覆盖时可以重用?


您可以使用多个配置文件来执行此操作。例如,创建属性文件:

application-dev.properties
application-prod.properties
application.properties

将您的环境特定属性放在application-${env}.properties文件和你的共同属性application.properties.

有多种方法可以告诉 spring 使用哪些配置文件,例如--spring.profiles.active flag.

See the Spring Boot 文档 https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config有关属性文件搜索顺序的更多详细信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Spring Boot 中哪里定义所有环境中通用的属性? 的相关文章

随机推荐