我对弹簧轮廓的工作原理有基本的了解。但在这个文件中,这个-
我无法获得它。而当前的Application.yml
文件提到了三个配置文件,其中一个将被激活,我也需要知道何时激活。以下是Application.yml文件的内容。
spring:
application:
name:
profiles:
active:
-default
-local
-swaggerinfo
注意:我的资源中有三个配置文件。如果我想查看另一个配置文件则spring使用类似CCD_ 3的命名约定。所以-
已经被添加到新的配置文件中,那么为什么我们明确需要将另一个放在spring.profile.active
下的application.yml文件中。
以下是resources文件夹下的三个配置文件的名称。
application.yml
application-local.yml
bootstrap-default.yml
但是在这个文件中this-i无法获得它。spring使用类似Application-extension.so-的命名约定已经存在为新的配置文件添加,然后为什么我们明确需要spring.profile.active 下的application.yml文件中的另一个
spring: application: name: profiles: active: -default -local -swaggerinfo
配置文件的声明不正确。您必须放置空格,或者根本不应该使用(-)。
spring:
profiles:
active:
- default
- local
- swaggerinfo
Spring还支持以下声明方式。
spring:
profiles:
active: default,local,swaggerinfo
或
spring:
profiles:
active:
default
local
swaggerinfo
这里的默认值是指application.properties
文件,而不是bootstrap-default.properties
。此外,您不需要指定默认配置文件。Spring自动使用application.properties
作为默认值。因此,在您的情况下,使用local
和swaggerinfo
是合适的。
当前的Aplication.yml文件提到了三个配置文件会变得活跃起来,什么时候我也需要知道。
让我们谈谈下面的声明。
spring:
profiles:
active:
- local
- swaggerinfo
local
和swaggerinfo
配置文件都将在道具加载时处于活动状态。因此,这意味着所有三个文件(默认情况下为application.yml
)都将被spring使用。
让我们谈谈订单。上述情况下的订单为
application -> application-local -> application-swaggerinfo
注意:假设您在所有三个文件中都提到了相同的道具,那么在这种情况下,优先级将按照上面突出显示的顺序给出,即application-swaggerinfo
中提到的道具将覆盖其他两个文件中可用的道具。