spring默认配置文件是否始终处于活动状态?

spring默认配置文件是否始终处于活动状态?,spring,profile,Spring,Profile,我想知道是否总是应用spring默认配置文件,假设它的属性没有被另一个活动配置文件覆盖 e、 g.我定义了仅与默认配置文件相关的属性。我希望在激活任何其他配置文件时忽略这些属性,这些属性不会被另一个配置文件覆盖,它们只是在另一个配置文件激活后不应用 从我的测试来看,当我激活另一个spring配置文件时,这些属性似乎仍在被提取。我正在spring应用程序属性文件中定义这些属性 我还使用@Profile(“default”)注释定义了一个Bean,当我激活另一个概要文件时,不会调用该Bean。但是正

我想知道是否总是应用spring默认配置文件,假设它的属性没有被另一个活动配置文件覆盖

e、 g.我定义了仅与默认配置文件相关的属性。我希望在激活任何其他配置文件时忽略这些属性,这些属性不会被另一个配置文件覆盖,它们只是在另一个配置文件激活后不应用

从我的测试来看,当我激活另一个spring配置文件时,这些属性似乎仍在被提取。我正在spring应用程序属性文件中定义这些属性


我还使用
@Profile(“default”)
注释定义了一个Bean,当我激活另一个概要文件时,不会调用该Bean。但是正在应用我在
spring.profiles:default
下的
application.xml
中定义的属性。

检查此解决方案。
为了保存对不同properties.file的引用,必须基于概要文件定义2个bean。在您的情况下,第一个(默认值)会有默认值,第二个您可以简单地覆盖它们或让变量上的任何其他默认值

谢谢您的回答,但我仍然不清楚我的问题的答案。我真正想知道的是:在默认配置文件中定义的配置属性是否总是应用,除非它们被另一个活动配置文件覆盖?从我的测试来看,似乎是这样。如果答案是肯定的,我想我必须在其他配置文件的范围内用空白值覆盖这些配置属性,如果我想忽略它们的话?是的,它们在默认情况下被应用,因为您正在向bean注入
@Profile
注释,所以这就是我粘贴的链接中描述的解决方案,不同之处在于,在链接中,他使用了2种不同的配置,但在您的情况下,您只需放置另一个属性文件,如果有人传递另一个配置文件,可以为您提供更多帮助,您能描述一下您的场景吗?对于我的场景,在本地运行我的应用程序时,我为我的应用程序创建了一个嵌入式h2数据库,并且在默认配置文件中定义的应用程序yaml文件中为此数据库定义了一些数据库属性。当我在别处运行我的应用程序时(将其存储到PaaS解决方案中,我希望连接到数据库实例,这些默认属性是不相关的,不应应用于我的“真实”数据库实例。但它们正在被拾取并导致错误。是的,您的上下文中可能存在错误配置,我已将
@Profile
注释用于同一个r。)eason正如您所提到的,为了获得不同的DBs上下文,并且它运行正常,问题是,您每次如何导出web应用程序。您是否使用maven设置正确的$property.Profile???我使用maven并在本地运行时在CLI上指定Profile属性。我通过应用程序设置Profile属性在Paas上运行时应用程序清单。我知道该配置文件是在enviromnet中设置的,因为它正确地获取了特定于该配置文件的其他属性。