如果没有类,则忽略spring bean注入

时间:2010-11-01 05:22:56

标签: java spring

我们有一组常见的spring应用程序上下文配置文件。根据部署(我们部署一个模块或多个模块),bean注入类将改变,例如。

<bean id="tagService" class="com.ekaplus.service.tag.TagService" >

     <property name="mdmTagService" ref="mdmTagService" />

      <property name="physicalTagService" ref="physicalTagService" />
  </bean>
如果部署了物理模块,

physcialTagService bean将可用,否则它将不可用。我不想更改每个部署的通用配置。如果没有类,那么在春天有没有办法忽略某些bean注入。

2 个答案:

答案 0 :(得分:1)

如果您只是按名称或类型使用自动装配,那么Spring不会自动装配它找不到的任何内容:

<bean class="foo.bar.Phleem" autowire="byType" />

答案 1 :(得分:1)

您还可以使用“abstract”,即

来使用父子实现
<bean id="tagServiceParent" class="com.ekaplus.service.tag.TagService" abstract="true">
<property name="implementedTagService" ref="defaultTagService" />
..other common properties here...
</bean>

<bean id="tagService" parent="tagServiceParent">
<property name="implementedTagService" ref="mdmTagService" />
</bean>

但我不确定你是如何实施的,所以它可能不适合你的需要。