我有一个类似于以下示例的字符串属性:
<property name="mappingData">
<list>
<bean class="com.company.product.longNamingStandard.migration.extractor.FieldMapping">
<property name="elementName" value="entitlement.user"/>
<property name="mapping" value="DocUsers"/>
</bean>
<bean class="com.company.product.longNamingStandard.migration.extractor.FieldMapping">
<property name="elementName" value="entitlement.contributor"/>
<property name="mapping" value="DocContributors"/>
</bean>
</list>
</property>
长类名会影响可读性并且还会产生重构开销。
是否可以为类名起别名并使用短名称来声明 bean?还是我缺少其他最佳实践?
最佳答案
对你来说可能有点晚了,但希望对其他人有用:
您可以使用父 bean 来完成此操作。 首先声明一个父bean作为模板:
<bean id="FieldMapping" class="com.company.product.longNamingStandard.migration.extractor.FieldMapping"/>
然后在别处使用它,使用 parent 属性。
<property name="mappingData">
<list>
<bean parent="FieldMapping">
<property name="elementName" value="entitlement.user"/>
<property name="mapping" value="DocUsers"/>
</bean>
<bean parent="FieldMapping">
<property name="elementName" value="entitlement.contributor"/>
<property name="mapping" value="DocContributors"/>
</bean>
</list>
</property>
请注意我这里的惯例是在这里为父模板 bean 使用大写的 id。
关于spring - 是否可以在 Spring 中为 bean 类命名别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3963790/