gpt4 book ai didi

dozer - 在 Dozer 中映射常量值

转载 作者:行者123 更新时间:2023-12-02 02:13:07 25 4
gpt4 key购买 nike

我想在使用 Dozer 映射两个类时映射来自 Java 类的常量,如下面字段 2 所示的示例映射所示。 除了 Factory Bean 实例之外,在 Dozer 中是否有更简洁的方法来执行此操作..

     <mapping>
<class-a>com.mod.Class1</class-a>
<class-b>com.mod.Class2</class-b>
<field>
<a>field1inClass1</a>
<b>field1inClass2</b>
</field>
<field> <!-- This is from constants. -->
<a>constants.Field</a>
<b>field2inClass2</b>
</field>
</mapping>

最佳答案

我过去也需要这个但没有成功,Dozer 不支持映射到不同于 class-aclass- 中定义的类中的常量值b。如果您要在 class-aclass-b 中的类中定义常量,则只需进行单向映射并使用 is-accessible="true" 在常量字段中。

作为一种丑陋的解决方法,您可以创建另一个 mapping 元素来执行从 Constants 类到目标对象的单向映射,但是您必须向 Dozer 传递一个常量类的实例(我知道,这很糟糕)并且只有当您的 Constants 类是可实例化的(这是最糟糕的)时才有可能。

<mapping>
<class-a>ConstantsClass</class-a>
<class-b>InstantiableClass</class-b>
<field type="one-way">
<a is-accessible="true">THE_CONSTANT</a>
<b>value</b>
</field>
</mapping>

Related topic on Dozer forums

关于dozer - 在 Dozer 中映射常量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11872060/

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