Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 在springboot 2.4的应用程序yml中导入几个属性文件后如何重写属性_Spring Boot - Fatal编程技术网

Spring boot 在springboot 2.4的应用程序yml中导入几个属性文件后如何重写属性

Spring boot 在springboot 2.4的应用程序yml中导入几个属性文件后如何重写属性,spring-boot,Spring Boot,我在yml中有两个属性文件 application-common.yml,包含以下内容 web客户端: 最大连接数:500 等待: 时间:1秒 application.yml,包含以下内容 信息: 应用程序: 名称:“@project.name@” 版本:“@project.version@” 春天: application.name:“@project.name@” --- 春天: 配置: 激活。on-profile:本地 导入:类路径:application-common.yml 等待:

我在yml中有两个属性文件

  • application-common.yml,包含以下内容

    web客户端:
    最大连接数:500
    等待:
    时间:1秒
    
  • application.yml,包含以下内容

    信息:
    应用程序:
    名称:“@project.name@”
    版本:“@project.version@”
    春天:
    application.name:“@project.name@”
    ---
    春天:
    配置:
    激活。on-profile:本地
    导入:类路径:application-common.yml
    等待:
    时间:10秒
    ---
    春天:
    配置:
    激活.on-profile:prod
    导入:类路径:application-common.yml
    等待:
    时间:5秒
    

  • 我希望在将
    本地
    配置文件的
    应用程序common.yml
    导入到
    10s
    后,我能够覆盖
    等待
    属性,并将
    产品
    配置文件的
    5s
    属性。但是,当我使用
    local
    配置文件运行应用程序时,
    wait-for
    属性被解析为
    1s
    ,而不是
    10s
    我不太确定这个响应,因为我还没有测试它,但我认为标准布局应该如下所示:


    • application.yml
      我不太确定这个响应,因为我还没有测试它,但我认为标准布局应该如下所示:


      • application.yml
        您可以通过在另一个yml或属性文件中重新定义属性来覆盖该属性。但请确保,无论最后读取哪个属性文件,这些属性都将在应用程序中有效/被考虑


        e、 g.如果公共yml文件最后读取,则“等待”将为1s;如果应用程序yml文件最后读取,则“等待”将为10s。

        您可以通过在另一个yml或属性文件中重新定义来覆盖该属性。但请确保,无论最后读取哪个属性文件,这些属性都将在应用程序中有效/被考虑


        e、 g.如果您的公共yml文件最后读取,那么“等待”将是1s;如果应用程序yml文件最后读取,那么“等待”将是10s。

        如果我有一个定义所有公共属性的单一位置,那么这将起作用。但假设我有一个名为
        prod east
        的配置文件,它需要从
        application.yml
        application-prod.yml
        导入属性并覆盖属性。我认为没有“层次配置文件”的概念。对我来说,听起来有点过分了。扩展了
        application.yml
        的文件
        application prod east.yml
        对于配置文件来说还不够吗?对我来说,这听起来比一些奇特的多级概要文件继承更安全/更清晰。如果你有这么多的配置文件,也许你应该看看其他的东西。如果我有一个单一的地方,所有的公共属性都是定义的,那就可以了。但假设我有一个名为
        prod east
        的配置文件,它需要从
        application.yml
        application-prod.yml
        导入属性并覆盖属性。我认为没有“层次配置文件”的概念。对我来说,听起来有点过分了。扩展了
        application.yml
        的文件
        application prod east.yml
        对于配置文件来说还不够吗?对我来说,这听起来比一些奇特的多级概要文件继承更安全/更清晰。如果你有这么多的个人资料,也许你应该看看其他的。是的,这应该行得通。我试图避免仅为覆盖属性创建新文件。我希望我能做内联。但看起来并没有其他方法了。你们可以做的另一件事是,若你们并没有在任何道具文件中定义“wait for”属性,那个么你们可以在应用程序中使用/注入它时给出默认值(但这是在代码级别上的更改,并不总是推荐这样)。是的,那个应该可以。我试图避免仅为覆盖属性创建新文件。我希望我能做内联。但看起来没有其他方法了。您可以做的另一件事是,如果您没有在任何道具文件中定义“wait for”属性,那么您可以在应用程序中使用/注入该属性时提供默认值(但这是在代码级别更改,不建议总是这样)。