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

具有不同名称的多个Spring配置文件

杜曜灿
2023-03-14
spring:
  profiles: dev
property:
  one: bla
  two: blabla 

---

spring:
  profiles: preProd, prod
another-property:
  fist: bla
  secong: blabla 

---

spring:
  profiles: prod
property:
  one: prod-bla
  two: prod-blabla

所以我的问题是,当我用prodprofile只运行applicaiton时,Spring是否合并了这两个profile,并且我可以在应用程序中看到propertyother-property

共有1个答案

姬振
2023-03-14

合并工作完美!

给定:

@SpringBootApplication
public class SoYamlSpringProfileMergeApplication {

    private final Data data;

    public SoYamlSpringProfileMergeApplication(Data data) {
        this.data = data;
    }

    @EventListener(ApplicationReadyEvent.class)
    public void showData() {
      System.err.println(data.getOne());
      System.err.println(data.getTwo());
      System.err.println(data.getThree());
    }

    public static void main(String[] args) {
        SpringApplication.run(SoYamlSpringProfileMergeApplication.class, args);
    }

}

@Component
@ConfigurationProperties(prefix = "data")
class Data {

    private String one = "one default";

    private String two = "two default";

    private String three = "three default";

    public String getOne() {
        return one;
    }

    public String getTwo() {
        return two;
    }

    public String getThree() {
        return three;
    }

    public void setOne(String one) {
        this.one = one;
    }

    public void setTwo(String two) {
        this.two = two;
    }

    public void setThree(String three) {
        this.three = three;
    }
}

spring:
  profiles:
    active: "other"

---

spring:
  profiles: dev

data:
  one: one dev
  two: two dev

---

spring:
  profiles: prod

data:
  one: one prod
  two: two prod

---

spring:
  profiles: other

data:
  three: three other
one dev
two dev
three other
spring:
  profiles:
    active: "other,prod"
one prod
two prod
three other
spring:
  profiles:
    active: "prod,other"
one dev
two dev
three other
    null
 类似资料:
  • 我有两个具有相同id的MDM配置文件,我想在同一设备上安装来自不同环境的两个不同应用程序。当我启用设备时,它将从设备中删除以前安装的应用程序。启用另一个MDM配置文件时,是否可以保存我已安装的应用程序?

  • 问题内容: 我创建了一个小部件,该小部件显示一个简单的textview,可在配置活动中将其作为Edittext编辑。我将输入的文本与共享的首选项一起保存,因此用户可以点击小部件来编辑文本,并且已经输入的文本将出现在edittextfield中。我的问题是这个。我希望用户能够添加多个窗口小部件,但是当添加第二个窗口小部件时,将从共享首选项中加载与其他窗口小部件中相同的文本。并且,当在widget上被

  • 问题内容: 我在这里遇到一种情况,试图充当两个API之间的网关。我需要做的是: 向APIa提出请求; 将XML响应解析(编组)为java对象; 对其进行很少的更改; 然后以XML(解组)形式向另一端(APIb)做出响应。 事实是,我使用同一对象来解析API响应并将响应发送到另一端。 正如评论所说:我收到但我需要发送 有没有一种方法可以完成此操作而不必创建另一个带有ResultCode的额外类? 提

  • 我已经创建了一个类似上面的类,我希望能够使用相同的类使用'colour'作为这个类的替代,如下面。 有没有一种方法可以简单地创造出来?

  • 问题内容: 如果类路径中有两个JAR文件,两个文件的根中都包含一个名为“ config.properties”的资源。有没有办法检索类似于的 两个 文件?顺序不相关。 一种替代方法是,如果可能的话,在类路径中加载与某些条件匹配的每个属性文件。 问题答案: 您需要 (或静态版本)。 但是不幸的是,资源不在“目录”中存在一个已知问题。例如,可以,但是可能是一个问题。在Spring Reference中

  • 问题内容: 我是Swift的新手,我已经遍历了一些教程,其中许多教程使用同一个名称多次定义了一个函数。 我已经习惯了其他编程语言,否则将无法执行此操作。 因此,我检查了官方的Swift手册,还检查了override关键字,以了解可以得到的结果,但是仍然无法理解以下代码: 从我看到的函数tableView设置在第1行和第5行,我注意到的唯一区别是第一个tableView函数返回,而第二个函数返回(U