【发布时间】:2019-01-06 14:52:42
【问题描述】:
我有 Spring Boot 应用程序,我有 3 个属性文件:applications.properties, applications-dev.properties, applicaton-prod.properties。在applications.properties 中,我指定spring.profiles.active=prod。但我想允许在没有产品配置文件的情况下启动应用程序(applicaton-prod.properties)。这意味着 spring 必须在 dev profile(applications-dev.properties) 中自动启动应用程序。我该如何实施?可能存在一些MissingOnProfile 注释?)我的任务是根据application.properties 文件创建不同的应用程序行为。我还在每个依赖于特定配置文件的 bean 中使用 @Profile 注释。所有任务都是创建 WebInstaller,在完成步骤中我将创建 application-prod.properties 并通过使用 RestartEndpoint 我将重新启动应用程序上下文并注入来自 application-prod.properties 的所需 bean。但我需要在没有application-prod.properties 的情况下启动,但如果此文件存在,我将在 prod 配置文件中启动。
【问题讨论】:
-
“如果产品配置文件不存在”?? spring 配置文件的要点是您可以将一个工件从一个环境提升到下一个环境,其中存在所有配置文件配置,使用系统属性或其他任何方式来决定每个环境中哪个配置文件处于活动状态。不应出现 prod 配置文件属性文件不存在的情况。
标签: java spring spring-boot spring-cloud-config spring-config