先に進む方法がわからない点にぶつかりました.次のコードを持つクラスがあります
public class MyClass{
private Class<? extends ValidationProvider> providerClass;
//getter ans setter
}
Provider クラスは実行時に渡され、そのために異なる実装が存在する可能性がありますが、上記の契約に従う必要があります? extends ValidationProvider
。
私の実装では、ユーザーがプロバイダー名クラスを渡すことができるプロパティを提供しました。それに基づいて、先に進む必要があります。先に進むには、依存性注入メカニズムのビルドを使用してプロバイダー クラスのインスタンスを取得する必要があります。
public class MyClass{
private Class<? extends ValidationProvider> providerClass;
//getter ans setter
public void setProvider(){
providerClass=container.getInstance("type","name");
}
}
の署名container.getInstance("type","name");
は
<T> T getInstance(Class<T> type, String name);
タイプをコンテナーに渡し、プロバイダー クラスのインスタンスを取得する方法がわかりません (プロバイダー クラスには署名があるため<? extends ValidationProvider>
)。
単純なユースケースの場合、次のようにできます
container.getInstance(String.class,"my constant");
しかし、私のユースケースでそれを行う方法がわかりません。この点での助けは本当にありがたいです。