1

javax.inject.ProviderSpring の代わりにどのように使用できるかを確認しようとしています<lookup-method>。ここに私のコードがあります

public abstract class MyAbstractClass<Source,Target>{
   @Autowired
    private Provider<Target> targetBean;

    protected abstract Target createTarget();
    public Provider<Target> getTargetBean() {
          return this.targetBean;
   }

}

public class MyClass extends MyAbstractClass<ObjectA, ObjectB>{

  @Override
   protected ObjectB createTarget()
    {
      return this.targetBean.get();  
    }
}

しかし、このコードを実行すると、次の例外が発生します

org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [java.lang.Object] is defined: expected single matching bean but found // list of all beans

私の理解はProvider正しくありませんが、私の質問は、提供する必要がありますか?

  @Autowired
  private Provider<Target> targetBean;

各実装クラスで、または私が完全に間違っていることがありますか? オブジェクトのタイプを Abstract クラスに渡しているため、プロバイダーは要求されている Bean のタイプを見つけることができると想定していました。

4

1 に答える 1