내가 SpringData's Neo4j graph DB hello-worlds example 함께 일하고 내가 WorldRepositoriesImpl.java ...Spring의 @Autowired는 구현이없는 인터페이스를 어떻게 사용합니까?
@Autowired private WorldRepository worldRepository;
또한 다음 코드 가로 질러, WorldRepository이 ...
public interface WorldRepository extends MyWorldRepository,
GraphRepository<World>,
NamedIndexRepository<World>
{/* no method defined here */}
이제 홀수 부분으로 정의된다 없음 실제로 찾을 수있는 클래스는 WorldRepository
낭포, 몇 가지 질문을 구현 ...
어떻게 이런 일이 가능할까요? 이 문서는 어디에 문서화되어 있습니까? 좀 더 명시 적으로 (덜 신비하게) 만들 수있는 방법이 있습니까?
"무엇이 일어나고있는가?" 그것은 여전히 나에게 마술처럼 보입니다. 그리고 저는 그것이 세 개의 분리 된 인터페이스 (클래스 중 하나가 정의 됨)로부터 클래스를 어떻게 단편적으로 구성하는지 보지 못합니다. 이상적으로 나는 아직 발견하지 못했던 이것을 설명하는 문서를보고 싶습니다. 그리고 이것을 좀 더 명확하게하는 방법을 원합니다. –
오히려 마술입니다. 핵심은 코드 합성을 수행하고 있다는 것입니다 (아마도 존재하는 다른 클래스/bean/메소드에 위임함으로써). –
@Andrew,'NodeGraphRepository'와'org.springframework.data.graph.neo4j.support.relationship.Neo4jRelationshipBacking'을 살펴보면, 그들은 대부분의 작업을하고있는 것처럼 보입니다. 그 이외에, 당신이 거기에서 유용한 것을 찾을 수 없다면 당신은 도서관의 저자에게 그들의 문서를 개선시켜야 할 것이라고 생각합니다. –