DIコンテナやらOSGiやら使う程でもないけど、最低限の拡張性はとりあえず担保しておきたいので使う感じなのだけど、コアAPIに含まれているjava.util.ServiceLoaderは本当に使い辛い。 というか、そのままでは使えないのでユーティリティ的でいつも似てるけどちょっと違うコードをそこら中に書き散らす訳で。 まずは、javadocをちゃんと読んでクダサシ。 java.util.ServiceLoader<S> 作成するリソースは、最低4つ。ファイルの配置はこんな感じ。 実装を切り替える為のインターフェース package conf; /** * @author taichi */ public interface Service { String getName(); void execute(String parameter); } 定義したインターフェースのデフォルト実装 p