Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.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
Java 如何指定bean将在Spring中注册的默认配置文件?_Java_Spring - Fatal编程技术网

Java 如何指定bean将在Spring中注册的默认配置文件?

Java 如何指定bean将在Spring中注册的默认配置文件?,java,spring,Java,Spring,鉴于: foo注册的配置文件的名称是什么?有没有办法在另一个概要文件定义中覆盖foo?当未明确指定配置文件时,spring中是否有默认配置文件的名称。spring中的默认配置文件为“默认”,请参见以下内容: 您可以通过以下操作更改web.xml中的默认配置文件: <beans ... namespace decelerations> <bean id="foo" class="com.example.foo" /> <beans profil

鉴于:



foo注册的配置文件的名称是什么?有没有办法在另一个概要文件定义中覆盖foo?当未明确指定配置文件时,spring中是否有默认配置文件的名称。

spring中的默认配置文件为“默认”,请参见以下内容:

您可以通过以下操作更改web.xml中的默认配置文件:

<beans ... namespace decelerations>
     <bean id="foo" class="com.example.foo" />
     <beans profile="abc">
         <bean id="bar" class="com.exmaple.bar" />
     </beans>
</bean>
环境变量:

-Dspring.profiles.default=production

如果设置了活动配置文件,它将覆盖默认配置文件。

Foo
只是在无配置文件下注册,无论您在该环境中使用的配置文件是什么,它都将被实例化
Spring
仅允许在
XML
文件中创建多个bean,如果它们位于不同的
集合中,则使用相同的
id
创建多个bean,因此我认为如果
Foo
bean不在带有概要文件的
标记中,则不可能覆盖该bean

如果没有定义配置文件,Spring将使用名为
default
的配置文件。但是,不在带有概要文件的
标记内的
bean
将不会在该概要文件下注册。这只意味着,如果您有如下
XML
之类的内容,并且没有提供配置文件,那么将加载具有默认配置文件的bean以及没有配置文件的bean

export spring_profiles_default=production


您对此有何参考:“如果没有定义配置文件,Spring将使用名为default的配置文件。”?AbstractEnvironment和子类现在注册了一个保留的默认配置文件,该配置文件按字面意思命名为“default”,这样,用户无需执行任何操作,如果没有显式激活其他配置文件,则将注册根据“默认”配置文件定义的bean。可能重复的
export spring_profiles_default=production
<beans ... namespace decelerations>
     <bean id="foo" class="com.example.foo" />
     <beans profile="default">
         <bean id="bar" class="com.exmaple.bar" />
     </beans>
</bean>