【发布时间】:2015-03-30 15:23:44
【问题描述】:
我今天开始学习 Spring,遇到了一个奇怪的行为,因此寻求任何专家的帮助。我定义了一个带有 id 的 bean,并验证了该 bean 可通过 ApplicationContext 和 Bean 工厂获得。后来创建了更多具有不同 ID 的 bean,但创建了一个与第一个 Bean 完全相同的 Id 的别名(下面的 xml sn-p)
<!-- Beans -->
<bean id="wolf" class="com.badwolf.spring.SpringWolf">
<constructor-arg type="java.lang.String" value="wolfy" />
<constructor-arg index="1" value="20" />
</bean>
<bean id="sweetWolf" class="com.badwolf.spring.SweetWolf" />
<!-- Aliases -->
<alias name="sweetWolf" alias="wolf" />
现在在实现类中使用“wolf”获取 bean,然后获取与“Alias”关联的 bean。这是 Spring 的预期行为吗?别名是否优先于 bean 定义(这似乎是 Spring 的核心)?
如果我的项目被拆分为多个团队,并且在集成时有人使用了相同的 id 和别名,并且突然部分功能停止工作,该怎么办。
【问题讨论】:
标签: spring