我刚刚阅读了一些 Spring 文档,并且对自动配置的工作方式有疑问。因此,如果我们运行具有特定配置文件的 Java 应用程序,它将自动使用以下格式命名的配置文件:
application-{{profileName}}.properties
假设我正在使用配置文件 dev 和 individual 运行应用程序。这意味着将运行以下属性文件:
application.properties、application-dev.properties 和 application-personal.properties。我对 spring 如何确定这些配置文件的优先级感到困惑。比如,如果我在 dev 中定义了一些东西来覆盖 individual,那么会使用哪一个?
Thanks!
Spring Boot 使用您的默认配置文件default然后用您列出的配置文件顺序覆盖它。
例如,如果您在您的应用程序属性 :
spring.profiles.active=dev,personnal
key1=default-value1
key2=default-value2
key3=default-value3
所有值定义在个人的配置文件将覆盖那些来自dev and default.
应用程序-dev.properties :
key2=dev-value2
key3=dev-value3
应用程序-个人.properties :
key3=personnal-value3
您的应用程序将匹配这些值:
key1=default-value1
key2=dev-value2
key3=personnal-value3
您还可以使用spring.profiles.include in 应用程序-个人.properties无条件地包括dev个人资料在个人的配置文件例如:
spring.profiles.include=dev
Regards
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)