別のjarファイルでインターフェースの実装を利用したいシステムがあります。シナリオは、クライアントが私たちの作業を消費し、デフォルトの実装をオーバーライドするために独自の実装を提供することです。
問題は、実際の実装クラスをシステムにバインド/ワイヤリングするための最良の方法は何ですか?
1つの方法は、依存関係をスプリングワイヤすることです。すべてのクライアントがSpringを使用していないため、現在はオプションではありません。
リフレクションを使用してインターフェイス実装クラスを解決するなど、いくつかのオプションを検討しました。このソリューションにはあまり満足していません。
もう1つの古き良きオプションは、プロパティの1つでクラス名を構成し、クライアントに構成させることです。よさそうだ。
しかし、可能であれば、いくつかのエレガントなオプションを見つけたいと思いました。
また、SLF4J / ELが実装を自動的に解決する方法についてのアイデアはありますか?