データ変換のための春のコンバーター対Java関数

akortex91:

私は数ヶ月前に書かれたいくつかのコードを見ていたし、私は次のことをやっていたいくつかのサービスクラスを偶然見つけ:

  1. DBを照会して(便宜上のが彼ら考えるエンティティのリストを取得Personするエンティティ)。
  2. 照会リストストリームのリストに上に取得したデータを変換するPersonDto転送オブジェクト。

次に、ステップ#2のカスタムスプリングコンバータは、A型からの変換を実行するために使用される(Person)(Bを入力しますPersonDto)。

今、私の質問は以下の通りです。まったく同じ動作が類似用いて行うことができるjava.util.機能の代わりにスプリングコンバータ。だからではなく、法とを使用することの利点は何ですか?

私は、ドキュメントを見ていたとは別に任意の春コンバータの実装は、スレッドセーフであることが記載されているという事実から、私は他の顕著な違いは表示されません。

私は春、私はさまざまな場所でそれらを注入することができる午前以来、多くのコンバータと、それらを再使用しますが、私は同じことが自己実行ラムダ関数を含むサービスクラスで行うことができます仮定を使用する傾向があります。

だから、として、プレーンの機能対春のコンバータを使用することの可能な利点/欠点が何であるかを、上述しました。

富:

ご使用のケースに応じて、任意のがあるかもしれませんではありません。コンバータ部はそう、Java 5のための支持体(6)と、スプリングバック3に実装されませんでしたFunction

しかし、重要なのは、コンバータの機能は、春の一部です。あなたが簡単にあなたの関数を呼び出すことができますが、春はそれについては何も理解していません。春はあなたが全体のSpringフレームワークを変換する方法を理解することができますコンバータを書くことができますので、かかわらず、独自のコンバータを理解しないAB、どこAで春を理解していないことを何かBそれがないものです。これは、最も一般的な使用例は、すでにあなたのために書かれているにもかかわらず、いくつかの特別な場合に必要になることがあります。

Springの変換機能がデータを変換については、主ではないので、それはSpringフレームワーク自体の機能を拡張についてです。手動でデータを自分で変換するためにそれを使用すると、実際のユースケースよりも副作用の詳細です。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=213429&siteId=1