【问题标题】:Spring Data Neo4J and CDISpring Data Neo4J 和 CDI
【发布时间】:2015-02-02 12:19:56
【问题描述】:

我按照本教程设置 Spring Data Neo4J:http://spring.io/guides/gs/accessing-data-neo4j/ 并稍作更改以在 Neo4J 服务器上使用它,并且运行良好。

然后我试图找到一个示例,说明如何在 CDI 环境中使用这些示例中概述的存储库:http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpd.misc.cdi-integration

只是,我找不到任何我必须提供的示例才能使用 Neo4J 进行此运行。

所以我的问题是:是否有人尝试使用 Spring Data 和 CDI 设置 Neo4j,并且可以提供一个示例,我必须如何为 CDI 设置 Spring 配置以及如何使存储库可用于 @Inject?请考虑我是 Spring Data 和 Neo4J 主题的新手 ;) 提前致谢!

乔恩

【问题讨论】:

    标签: spring neo4j spring-data cdi


    【解决方案1】:

    至少我发现了一些似乎有效的东西。我扩展了 Neo4JConfiguration 来设置 Neo4J 服务器连接。在这个类中,我还生成了所需的存储库。存储库本身必须使用 @NoRepositoryBean 注释

    public class MyNeo4JConfiguration extends Neo4jConfiguration {
    
    GraphDatabaseService graphDatabaseService() {
        return new SpringRestGraphDatabase("http://localhost:7474/db/data");
    }
    
    public GraphDatabase graphDatabase() {
        if (graphDatabaseService() instanceof GraphDatabase)
            return (GraphDatabase) graphDatabaseService();
        return new DelegatingGraphDatabase(graphDatabaseService());
    }
    
    @Produces
    PersonRepository getPersonRepository() {
        GraphRepositoryFactory factory;
        try {
            factory = new GraphRepositoryFactory(new Neo4jTemplate(
                    this.graphDatabase()), this.neo4jMappingContext());
            PersonRepository personRepository = factory
                    .getRepository(PersonRepository.class);
            return personRepository;
        } catch (Exception e) {
            return null;
        }
    }
    

    存储库:

    @NoRepositoryBean
    public interface PersonRepository extends GraphRepository<Person> {
        Person findByName(String name);
        Iterable<Person> findByTeammatesName(String name);
    }
    

    现在可以使用@Inject 注入 PersonRepository。

    感谢this 发帖!!!

    【讨论】:

      猜你喜欢
      • 2017-10-11
      • 1970-01-01
      • 1970-01-01
      • 2014-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多