gpt4 book ai didi

spring - 是否可以在 Spring 中为 bean 类命名别名?

转载 作者:行者123 更新时间:2023-12-01 11:58:21 27 4
gpt4 key购买 nike

我有一个类似于以下示例的字符串属性:

<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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com