Xstream-quick-guide
XStream-概要
XStreamは、JavaオブジェクトをXMLにシリアル化したり、その逆を行うためのシンプルなJavaベースのライブラリです。
特徴
- 使いやすい-XStream APIは、一般的なユースケースを簡素化するための高レベルのファサードを提供します。
- マッピングを作成する必要はありません-XStream APIは、シリアル化されるオブジェクトのほとんどにデフォルトのマッピングを提供します。
- パフォーマンス-XStreamは高速で、メモリフットプリントが小さく、大きなオブジェクトのグラフまたはシステムに適しています。
- Clean XML -XStreamは、読みやすく、クリーンでコンパクトなXML出力を生成します。
- オブジェクトの変更は不要-XStreamはプライベートフィールドやファイナルフィールドなどの内部フィールドをシリアル化し、非パブリックおよび内部クラスをサポートします。 デフォルトのコンストラクターは必須の要件ではありません。
- 完全なオブジェクトグラフのサポート-XStreamでは、オブジェクトモデルで発生した重複参照を維持でき、循環参照もサポートしています。
- カスタマイズ可能な変換戦略-特定のタイプのカスタマイズをXMLとして表現できるようにするために、カスタム戦略を登録できます。
- セキュリティフレームワーク-XStreamは、操作された入力に関するセキュリティの問題を防ぐために、非整列化された型を公平に制御します。
- エラーメッセージ-不正なXMLが原因で例外が発生すると、問題を修正するための詳細な診断が提供されます。
- 代替出力形式-XStreamは、JSONやモーフィングなどの他の出力形式をサポートしています。
一般的な用途
- Transport -XMLはオブジェクトのテキスト表現であり、使用されるシリアライゼーション/デシリアライゼーションテクニックに関係なく、ワイヤを介してオブジェクトをトランスポートするために使用できます。
- 永続性-オブジェクトはデータベース内でXMLとして永続化でき、必要に応じてマーシャリング/アンマーシャリングできます。
- 構成-XMLは自明であり、構成の定義に頻繁に使用されます。 オブジェクトは、XML表現に変換した後、構成目的で使用することもできます。
- ユニットテスト-XStream APIはJUnit互換であり、アプリケーションモジュールのユニットテストを強化するために使用できます。
XStream-環境設定
この章では、Javaに適した環境を設定するさまざまな側面について説明します。
ローカル環境のセットアップ
Javaプログラミング言語用に環境をセットアップする場合、このセクションでは、マシンにJavaをダウンロードしてセットアップする方法について説明します。 Java環境をセットアップするには、以下の手順に従ってください。
Java SEはリンクから無料でダウンロードできます-
指示に従ってJavaをダウンロードし、*。exe *を実行して、マシンにJavaをインストールします。 マシンにJavaをインストールしたら、正しいインストールディレクトリを指すように環境変数を設定する必要があります-
Windows 2000/XPのパスのセットアップ
_c:\ Program Files \ java \ jdk_ディレクトリにJavaをインストールしたと仮定します-
- 「マイコンピュータ」を右クリックして、「プロパティ」を選択します。
- 「詳細」タブの下の「環境変数」ボタンをクリックします。
- 「Path」変数を変更して、Java実行可能ファイルへのパスも含まれるようにします。 たとえば、パスが現在「C:\ WINDOWS \ SYSTEM32」に設定されている場合、パスを「C:\ WINDOWS \ SYSTEM32; c:\ Program Files \ java \ jdk \ bin」に変更します。
Windows 95/98/MEのパスのセットアップ
_c:\ Program Files \ java \ jdk_ディレクトリにJavaをインストールしたと仮定します-
- 「C:\ autoexec.bat」ファイルを編集し、最後に次の行を追加します- + 'SET PATH =%PATH%; C:\ Program Files \ java \ jdk \ bin'
Linux、UNIX、Solaris、FreeBSDのパスのセットアップ
環境変数PATHは、Javaバイナリがインストールされている場所を指すように設定する必要があります。 これがうまくいかない場合は、シェルのドキュメントを参照してください。
たとえば、シェルとして_bash_を使用する場合、 '。bashrcの最後に次の行を追加します:export PATH =/path/to/java:$ PATH'
人気のあるJavaエディター
Javaプログラムを作成するには、テキストエディターが必要です。 市場にはさらに洗練されたIDEがあります。 しかし、今のところ、次のいずれかを検討することができます-
- メモ帳-Windowsでは、メモ帳(このチュートリアルで推奨)やTextPadなどのシンプルなテキストエディタを使用できます。
- Netbeans -これは無料のJava IDEで、https://netbeans.org/[https://www.netbeans.org/indexl]からダウンロードできます。
- Eclipse -また、eclipseオープンソースコミュニティによって開発されたJava IDEであり、https://www.eclipse.org/からダウンロードできます。
XStream Archiveをダウンロードする
xstream-1.4.7.jarから最新バージョンのXStream jarファイルをダウンロードします。 このチュートリアルを書いている時点で、_xstream-1.4.7.jar_をダウンロードし、C:\> XStreamフォルダーにコピーしました。
OS | Archive name |
---|---|
Windows | xstream-1.4.7.jar |
Linux | xstream-1.4.7.jar |
Mac | xstream-1.4.7.jar |
XStream環境を設定する
Sr.No. | OS & Description |
---|---|
1 |
Windows 環境変数XStream_HOMEをC:\ XStreamに設定します |
2 |
Linux export XStream_HOME =/usr/local/XStream |
3 |
Mac export XStream_HOME =/Library/XStream |
CLASSPATH変数を設定する
XCLASS jarの場所を指すように CLASSPATH 環境変数を設定します。 次の表は、Windows、Linux、およびMacシステムでCLASSPATH変数を設定する方法を示しています。xstream-1.4.7.jarをXStreamフォルダーに保存していることを前提としています。
Sr.No. | OS & Description |
---|---|
1 |
Windows 環境変数CLASSPATHを%CLASSPATH%;%XStream_HOME%\ xstream-1.4.7.jar;に設定します。 |
2 |
Linux export CLASSPATH = $ CLASSPATH:$ XStream_HOME/xstream-1.4.7.jar; |
3 |
Mac export CLASSPATH = $ CLASSPATH:$ XStream_HOME/xstream-1.4.7.jar; |
XStream-最初のアプリケーション
XStreamライブラリーの詳細に入る前に、動作中のアプリケーションを見てみましょう。 この例では、StudentクラスとAddressクラスを作成しました。 学生オブジェクトを作成し、それをXML文字列にシリアル化します。 次に、同じXML文字列を逆シリアル化して、学生オブジェクトを取得します。
結果の確認
次のように javac コンパイラを使用してクラスをコンパイルします-
今、結果を見るためにXStreamTesterを実行します-
出力を次のように確認します
覚えておくべき手順
以下は、ここで考慮すべき重要な手順です。
ステップ1:XStreamオブジェクトを作成する
StaxDriverを渡してXStreamオブジェクトを作成します。 StaxDriverはStax pullパーサー(Java 6から利用可能)を使用し、高速のXMLパーサーです。
ステップ2:オブジェクトをXMLにシリアル化する
toXML()メソッドを使用して、オブジェクトのXML文字列表現を取得します。
手順3:XMLを逆シリアル化してオブジェクトを取得する
fromXML()メソッドを使用して、XMLからオブジェクトを取得します。
XStream-エイリアシング
エイリアシングは、生成されたXMLをカスタマイズするか、XStreamを使用して特定のフォーマットされたXMLを使用する技術です。 Studentオブジェクトのシリアル化/逆シリアル化に次のXML形式を使用するとします。
上記のXML形式に基づいて、モデルクラスを作成しましょう。
XStreamを使用して上記のオブジェクトのシリアル化をテストしましょう。
C:\> XStream_WORKSPACE \ com \ finddevguides \ xstreamにXStreamTesterという名前のJavaクラスファイルを作成します。
結果の確認
次のように javac コンパイラを使用してクラスをコンパイルします-
今、結果を見るためにXStreamTesterを実行します-
次のように出力を確認します-
上記の結果では、Studentオブジェクト名は完全修飾されています。 学生タグとして置き換えるには、次のセクションに従ってください。
- リンク:/xstream/xstream_class_aliasing [クラスのエイリアス]
- リンク:/xstream/xstream_field_aliasing [フィールドのエイリアス]
- リンク:/xstream/xstream_implicit_aliasing [Implicit Collections Aliasing]
- リンク:/xstream/xstream_attribute_aliasing [属性のエイリアス]
- リンク:/xstream/xstream_package_aliasing [パッケージのエイリアス]
XStream-注釈
XStreamは、コーディングの代わりに自動構成のような注釈を同様にサポートします。 前の章では、コードで次の構成を見てきました。
次のコードスニペットは、アノテーションを使用して同じ作業をはるかに簡単に行う方法を示しています。
XStreamを使用して上記の注釈をテストしてみましょう。
ファイル:XStreamTester.java
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします-
今、結果を見るためにXStreamTesterを実行します-
次のように出力を確認します-
XStreamフレームワークに注釈を処理するように指示するには、xmlをシリアル化する前に次のコマンドを追加する必要があります。
Or
XStream-コンバーター
XStreamコンバーターは、XStreamライブラリの重要なコンポーネントであり、オブジェクトをXMLに変換したり、その逆を行ったりします。 XStreamは、プリミティブ、文字列、ファイル、コレクション、配列、日付などの一般的なタイプの多数のコンバーターを提供します。
コンバーターを使用する
オブジェクトを単一の文字列に変換することを目的とするSingleValueConvertorを使用しましょう。 SingleValueConvertorを使用して、オブジェクトを属性文字列として書き込みます。
コンバーターを作成する
コンバーターを登録する
コンバーターなしの例
XStreamでコンバーターなしでコードを最初にテストしましょう。
C:\> XStream_WORKSPACE \ com \ finddevguides \ xstreamにXStreamTesterという名前のJavaクラスファイルを作成します。
結果の確認
次のように javac コンパイラを使用してクラスをコンパイルします-
今、結果を見るためにXStreamTesterを実行します-
次のように出力を確認します-
コンバーターの例
XStreamのコンバーターでコードをテストしましょう。
C:\> XStream_WORKSPACE \ com \ finddevguides \ xstreamにXStreamTesterという名前のJavaクラスファイルを作成します。
結果の確認
次のように javac コンパイラを使用してクラスをコンパイルします-
今、結果を見るためにXStreamTesterを実行します-
次のように出力を確認します-
リンク:/xstream/xstream_custom_converter [カスタムコンバーター]
XStream-オブジェクトストリーム
XStreamは、java.io.ObjectInputStreamおよびjava.io.ObjectOutputStreamの代替実装を提供するため、オブジェクトのストリームをXMLからシリアル化または非シリアル化できます。 これは、一度に1つのオブジェクトをメモリに保持し、オブジェクトの大きなセットを処理する場合に特に役立ちます。
構文:createObjectOutputStream()
構文:createObjectInputStream()
XStreamでオブジェクトストリームを使用してコードをテストしましょう。
C:\> XStream_WORKSPACE \ com \ finddevguides \ xstreamにXStreamTesterという名前のJavaクラスファイルを作成します。
ファイル:XStreamTester.java
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします-
今、結果を見るためにXStreamTesterを実行します-
次のように出力を確認します-
XStream-XStreamを使用したJSONの作成
XStreamは、適切なドライバーでXStreamオブジェクトを初期化することでJSONをサポートします。 XStreamは現在、JettisonMappedXmlDriverおよびJsonHierarchicalStreamDriverをサポートしています。
XStreamでjsonを処理してコードをテストしましょう。
C:\> XStream_WORKSPACE \ com \ finddevguides \ xstreamにXStreamTesterという名前のJavaクラスファイルを作成します。
ファイル:XStreamTester.java
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします-
今、結果を見るためにXStreamTesterを実行します-
次のように出力を確認します-