鉴于:
<beans ... namespace decelerations>
<bean id="foo" class="com.example.foo" />
<beans profile="abc">
<bean id="bar" class="com.exmaple.bar" />
</beans>
</bean>
Run Code Online (Sandbox Code Playgroud)
foo注册的个人资料的名称是什么?有没有办法在另一个配置文件定义中覆盖foo?如果未明确指定配置文件,是否在spring中有默认配置文件的名称.
Sol*_*ris 23
spring中的默认配置文件是"default",请参阅:https://jira.springsource.org/browse/SPR-8203
您可以通过执行以下操作更改web.xml中的默认配置文件:
<context-param>
<param-name>spring.profiles.default</param-name>
<param-value>production</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
命令行:
-Dspring.profiles.default=production
Run Code Online (Sandbox Code Playgroud)
环境变量:
export spring_profiles_default=production
Run Code Online (Sandbox Code Playgroud)
如果设置了活动配置文件,则它将覆盖默认配置文件.
Foo只是在没有配置文件的情况下注册,无论您在该环境中使用的配置文件如何,它都将始终实例化.如果它们位于不同的集合中,Spring则只允许在XML文件中创建多个bean,因此如果它不在具有配置文件的标记内,我认为不可能覆盖该bean .id<beans>Foo<beans>
如果没有定义配置文件,Spring将使用名为的配置文件default.但是,bean不在<beans>具有配置文件的标签内的那个不会在该配置文件下注册.它只表示如果你有类似下面的内容XML并且没有提供配置文件,那么将加载具有默认配置文件的bean以及没有配置文件的bean.
<beans ... namespace decelerations>
<bean id="foo" class="com.example.foo" />
<beans profile="default">
<bean id="bar" class="com.exmaple.bar" />
</beans>
</bean>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23191 次 |
| 最近记录: |