4

XMLスキーマのライブラリを使用してコードを生成し、人々がXMLBeansとJAXBの間で好みを持っているかどうかを知りたい。パフォーマンス、スキーマ検証機能、メモリ使用量..任意のインジケーターが役立ちます..

4

5 に答える 5

11

私の個人的な好みは JAXB です。注釈と多くの Java 5 機能を使用した、より最新のアプローチを採用しています。一方、XMLBeans は依然として Java 1.4 に準拠しています (これが必要な場合)。順不同のその他の考えは次のとおりです。

  • JAXB の Java 6 以降は JDK にバンドルされているため、そのまま使用できます。
  • JAXB は、注釈付きの Java (POJO のような) クラスで動作します - XMLBeans によって生成されたインターフェイスであり、クラスはありません
  • JAXB では、Java クラスに注釈を付けてマーシャリングとアンマーシャリングに使用できます。または、XML スキーマから始めて Java クラスを生成し、次に un-/marshalling に変換することもできます。
  • XMLBeans は、XML スキーマで開始することのみを許可し、インターフェースを生成してから、これを un-/marshalling に使用します
于 2008-12-02T20:37:22.987 に答える
1

Joachimの答えは+1で、私のお気に入りの機能の1つを追加するために、JAXB2.0は制限された単純型からJava列挙型を作成します。

于 2008-12-02T22:57:07.463 に答える
1

XmlObjects は、効率的な解析のために xml infoset に簡単にアクセスできるビュー オブジェクトと同様に、ファースト クラスのドメインおよび DTO オブジェクトでもあります。通常、ビジネス オブジェクトは粒度が粗すぎるため、DTO アセンブラーまたはマッピング フレームワークを使用して、XmlBeans と JAXB の両方に対して何らかのマッピングを実装する必要があります。JAXB はマーシャリング時間の検証を提供し、インフラストラクチャとの統合が優れていますが、XmlBeans の利点は JAXB の利点よりも強いと思います

于 2011-02-11T18:25:34.973 に答える
1

JAXB のもう 1 つの利点は、POJO を使用しているため、POJO をファースト クラスのドメイン オブジェクトとして快適に使用でき、アプリケーション スタック全体で使用できることです。

それらを DAO レイヤーの値オブジェクトとして使用したいですか? UIレイヤーのモデルとしていかがですか?頑張れ。

そうすれば、マッピング レイヤーと DTO が少なくなり、作成、テスト、および保守するコードが少なくなります。

于 2008-12-08T17:04:07.953 に答える
0

私が XMLBeans を好むのは、XML 文書からスキーマを生成できる「inst2xsd」という便利なツールが付属しているためです。JAXB はスキーマをコンパイルすることしかできず、スキーマを生成することはできません。

于 2010-02-26T17:01:06.553 に答える