Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Mongo-从我的自定义存储库实现访问存储库接口方法_Java_Spring_Mongodb - Fatal编程技术网

Java Spring Mongo-从我的自定义存储库实现访问存储库接口方法

Java Spring Mongo-从我的自定义存储库实现访问存储库接口方法,java,spring,mongodb,Java,Spring,Mongodb,我正在定义Spring Mongo存储库接口,如下所示: public interface FooRepository extends MongoRepository<Foo, String>, FooRepositoryCustom { Foo findByMyField(String myField); } 在我的自定义存储库实现中,我希望通过调用findByMyField方法来定义findByMyObject。比如: public class FooRepositor

我正在定义Spring Mongo存储库接口,如下所示:

public interface FooRepository
  extends MongoRepository<Foo, String>, FooRepositoryCustom {
  Foo findByMyField(String myField);
}
在我的自定义存储库实现中,我希望通过调用findByMyField方法来定义findByMyObject。比如:

public class FooRepositoryImpl implements FooRepositoryCustom {
  public Foo findByMyObject(MyObject obj) {
    return new Foo(<repository>.findByMyField(obj.getId()));
  }
}
公共类FooRepositoryImpl实现FooRepositoryCustom{
public Foo findByMyObject(MyObject对象){
返回新的Foo(.findByMyField(obj.getId());
}
}

关于如何获取对该存储库接口的引用的任何线索?

您可以尝试以下方法

public class FooRepositoryImpl implements FooRepositoryCustom {
@Autowired
private FooRepository fooRepository;
public Foo findByMyObject(MyObject obj) {
    return new Foo(fooRepository.findByMyField(obj.getId()));
  }
}
你也可以试试

@Autowired
private MongoRepository<Foo, String> fooRepository;
@Autowired
私有MongoRepository存储库;
不确定泛型是否会按类型触发autowire

@Autowired
private MongoRepository<Foo, String> fooRepository;