いくつかの拡張がある複雑なオブジェクト階層があります。
クラスOne{文字列名; カラーカラー; 服をリストします。}
クラス2は1を拡張します{テストテスト; }
クラスFoo{OneOne; 2つ2つ; }
クラスOneのオブジェクトのすべての属性をクラスの新しいオブジェクトにコピーしたいと思います。これを行う方法 ?利用できるライブラリはありますか?
いくつかの拡張がある複雑なオブジェクト階層があります。
クラスOne{文字列名; カラーカラー; 服をリストします。}
クラス2は1を拡張します{テストテスト; }
クラスFoo{OneOne; 2つ2つ; }
クラスOneのオブジェクトのすべての属性をクラスの新しいオブジェクトにコピーしたいと思います。これを行う方法 ?利用できるライブラリはありますか?
ここにいくつかあります:
Dozer は非常に高速で、多数の構成オプションがあります。Orika は非常に高速であると思われますが、私はそれをはっきりと確認したわけではありません (彼らのサイトに掲載されているベンチマークをチェックしてください)。
Dozerは、あるオブジェクトから別のオブジェクトにデータを再帰的にコピーするJavaBeanからJavaBeanへのマッパーです。
注釈またはXMLを使用して、プログラムでオブジェクトフィールドをコピーするためのマッピングを定義できます。
まあ、私は orika と dozer の両方を使用しました。交換後の私のプロジェクトでは、orika は少なくとも dozer よりも 10 倍高速であると言えます。また、orika は必要とする jvm ヒープ メモリが少なくて済みます。orika の方が高速なのは、実行時にマッピング ルールを調べて Java リフレクションを使用して実行時にプロパティ値を取得および設定する代わりに、マッピング ルールをランタイム Java クラスとしてコンパイルしてプロパティ マッピングを行うためです。