我有一个类似于以下示例的字符串属性:
<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.