私は拡張アプリケーション用のベースコードであるセットパッケージを持っています。私のアプリケーションでは、実行時にスプリングによって注入される一連のインターフェイスが実装されています。私はインターフェイスを実装するクラスが注入されたかどうかを知ることができる方法があることを知りたいと思います。これは私が実行したいJSONシリアライザ/デシリアライザのアクションがあるためですが、注入されたクラスを知る必要があるためです。インタフェースにどのBeanが注入されたかを知るには?
私は配線を説明し、それがゲームの実装が提供されますJavaの設定ファイルを持っています。しかしこれまでのところ、私はインターフェイスを実装する具体的なクラスを手に入れることができませんでした。私はまた、文脈から情報を要求するのに成功していない。
蟻のヒント? injectedInstance.getClass().getName()
:
あなたがそれを得ることができれば、インタフェースの目的は失われていますか? – DNAj
@DNAj私はあなたの要点を理解していますが、それ以外の場合は、私のアプリケーションで実装されるはずのインターフェースを含むPOJOを使用しているのでJSON変換(Jackson)を処理できません。確かにここには設計上の問題がありますが、実装されたクラスが分からなければ解決する方法はありません。 – jfzr
こんにちは@jfzr、あなただけの反射のオプションがあります。リフレクションを適切に使用することで、アクセス修飾子を変更してアクセス可能にすることができます。これについての詳細が必要な場合はお知らせください。 – DNAj