首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何指定在Spring中注册bean的默认配置文件?

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

Stack Overflow用户
提问于 2013-01-21 23:38:12
回答 2查看 23.8K关注 0票数 20

给定:

代码语言:javascript
复制
<beans ... namespace decelerations>
     <bean id="foo" class="com.example.foo" />
     <beans profile="abc">
         <bean id="bar" class="com.exmaple.bar" />
     </beans>
</bean>

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-22 00:47:15

spring中的默认配置文件是" Default ",请看这个:https://jira.springsource.org/browse/SPR-8203

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

代码语言:javascript
复制
<context-param>
    <param-name>spring.profiles.default</param-name>
    <param-value>production</param-value>
</context-param>

命令行:

代码语言:javascript
复制
-Dspring.profiles.default=production

环境变量:

代码语言:javascript
复制
export spring_profiles_default=production

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

票数 24
EN

Stack Overflow用户

发布于 2013-01-22 00:59:10

Foo只是在没有配置文件的情况下注册,无论您在该环境中使用的是什么配置文件,它都将始终被实例化。Spring只允许在一个XML文件中创建多个具有相同id的bean,如果它们在不同的<beans>集中,所以我认为如果Foo bean不在带有配置文件的<beans>标记中,就不可能覆盖它。

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

代码语言:javascript
复制
<beans ... namespace decelerations>
     <bean id="foo" class="com.example.foo" />
     <beans profile="default">
         <bean id="bar" class="com.exmaple.bar" />
     </beans>
</bean>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14442075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档