Example RSS Reader
入力されたURLからRSS Feedを取得して加工した後、出力します。
- 複数のRSS FEEDのURL入力が可能です。
- RSS FEEDは標準出力とTextファイルの保存、両方実行されます。
Mavenで下記のコマンドを実行するとjarファイルが作られます。
clean compile assembly:single
build成果物はkim-rss-reader-1.0.0-SNAPSHOT-jar-with-dependencies
のファイル名で生成されます。
build途中lombokによるエラーが起きますが、成果物は作成されます。
$ java -jar kim-rss-reader-1.0.0-SNAPSHOT-jar-with-dependencies
- ServiceLoaderを利用して実装されています。
- 拡張可能な5種類のインタフェースがあります。
URLの入力を行います。
InputServiceImplDefault
: InputServiceのデフォルト実装です。InputServiceImplMultiple
: 複数RSS対応の実装です。
URLからRSS Feedを取得する処理を行います。
AcquireServiceImplDefault
: AcquireServiceのデフォルト実装です。
RSS Feedの加工処理を行います。
ConvertServiceImplDefault
: ConvertServiceのデフォルト実装です。ConvertServiceImplUnEscape
: RSS Feedの内容にHtmlUnescape処理をする実装です。
RSS Feedの出力を行います。
PrintServiceImplDefault
: PrintServiceのデフォルト実装です。PrintServiceImplToTextFile
: RSS FeedをTextファイルで保存する実装です。
RSS Readerアプリケーションの実行を行います。
OperatorImplDefaultProxy
: Operatorのデフォルト実装です。OperatorImpl2ndPhase
: 複数RSS対応およびRss Feedの標準出力とTextファイルの保存が追加された実装です。
- 5種類のDIの中で拡張するDIをimplementします。
/resources/META-INF/services
に入っている設定ファイルの中身を1番でimplementしたクラスに変更します。
/resources/META-INF/services
に入っている設定ファイルの中身を変更したいDIで設定します。
- JDK 9をインストールする必要があります。
- lombokを利用するため,IntelliJの場合は下記の設定が必要です。
Created by HyungCheol Kim