1

我正在使用SpringData 的 Neo4j 图形数据库 hello-worlds 示例,我在WorldRepositoriesImpl.java中遇到了以下代码......

@Autowired private WorldRepository worldRepository;

此外,WorldRepository被定义为...

public interface WorldRepository extends MyWorldRepository, 
                                         GraphRepository<World>,
                                         NamedIndexRepository<World> 
{/* no method defined here */}

现在奇怪的是,我找不到真正实现的类WorldRepository。所以,有几个问题......

这怎么可能?这是在哪里记录的?有没有办法让它更明确(不那么神秘)?

4

1 回答 1

3

运行带有调试器的代码表明worldRepositorySpring 连接的实例是在运行时创建的代理对象。

查看 pom.xml 和包含的依赖项,它看起来像是在运行时创建此实现类的某些方面中的 spring-neo4j 库捆绑包。

换句话说,在源代码中没有声明此接口的实现——而是在运行时使用 AspectJ 和其他工具创建的。

IntelliJ 调试器截图

于 2011-07-05T14:20:03.397 回答