我们有一组常见的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注入。
答案 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>
但我不确定你是如何实施的,所以它可能不适合你的需要。