当前位置: 首页 > 知识库问答 >
问题:

Spring Boot:使用引导加载公共配置应用程序属性文件。yml公司

孔志强
2023-03-14

在我们的配置服务器中,我们有以下应用程序属性文件:

helloApp-dev.properties //dev env properties
helloApp-commonConfig.properties //common properties across env

可以从URI访问这些属性,如:

https://myapp.abc.com/1234/helloApp-dev.properties
https://myapp.abc.com/1234/helloApp-commonConfig.properties

下面是我们的引导程序。helloApp应用程序的yml:

---
spring:
  application:
    name: helloApp
    
---
spring  
  profiles: dev
  cloud:
    config:
      label: 1234
      name: {spring.application.name}
      uri: https://myapp.abc.com/

我使用的是Spring Boot版本2.2.4。helloApp-dev.properties在应用程序中加载成功,但不是通用配置。

共有2个答案

韦嘉颖
2023-03-14

要加载属性文件,配置文件应匹配。您有两种解决方案:

  1. 重命名helloApp commonConfig。属性-
安经纶
2023-03-14

没有加载commonConfig中的配置,因为您没有向Spring指示它应该加载该概要文件/配置,因为您只激活了dev概要文件,而该概要文件的配置就是正在加载的配置:

---
spring  
  profiles: dev

除了@akozintsov在其回答中提出的好的解决方案之外,如果您需要在不同的环境或配置文件中包括某些常见的配置,例如开发、qa或prod,您可以使用spring。配置文件。包括配置属性,如果使用属性文件,则包括逗号分隔的值列表,如果使用yaml,则包括所需的不同通用配置文件和相应配置。

在您的示例中,在helloApp-dev.properties中,您需要在其余配置中包括以下信息:

spring.profiles.include=commonConfig

这些相关的SO问题和本文也可能有所帮助。

 类似资料:
  • 1.id <text id="top">Top</text> id是weex标签(即控件)在template下的唯一标识符,可以通过id来引用对应的weex标签。 var top=this.$el('top')//通过this.el('id')找到标签 dom.scrollToElement(top)//滚动到指定的标签 2.style style="width:200;height:20

  • 我有一段扫描Spring上下文的代码: 我需要从文件,所以在类中,我有: (我从这里复制了YamlProperty tyLoaderFactory类) 是一个典型的Spring Boot文件,其中包含一些配置文件属性和默认配置文件: 在某些bean中,我使用读取属性。 当我运行我的应用程序,我传递变量,但我得到一个错误: 无法解析值“${file}”中的占位符“file” (由于applicati

  • 我正在尝试从YML加载配置。如果这些是逗号分隔的值,我可以加载值,也可以加载列表。但我无法加载典型的YML列表。 配置类 工作路线。yml 不工作。yml 为什么我不能加载yml的第二个版本/我有一个语法错误? 环境:科特林,Spring2.0.0。M3

  • 在我的项目中,我想使用特定于环境的属性文件。例如,如果我在开发中运行它,它应该使用应用程序。dev.properties,对于生产,它应该使用应用程序。产品属性等等。 我有下面两个文件在我的资源文件夹。 application.properties(用于生产) application.dev.properties(用于开发) 我有一个属性像下面的每个文件。 为了刺激 给德夫 我有一门课,如下所示

  • 我在src/main/resources下创建了2个文件: 应用程序。属性 第一个具有从env变量中获取值的属性,而后者具有固定值。 根据这里的具体情况,我以这样的方式推出了Spring靴: 然而,不会产生任何影响,并且应用程序是局部的。属性似乎被忽略。 有什么提示吗?

  • 我在web应用程序中工作。我正在使用spring分析加载基于环境的属性。下面是样品 在web.xml中,我们可以给出配置文件 现在,我的查询是针对我需要创建一个单独的Java类的每个环境。 问题:是否可能只有一个类,比如提供配置文件名称作为某个绑定参数,比如。 同时,让我知道是否有其他更好的选择,以实现同样的。