升级到Spring Data 4.2+时如何替换RemoteServer()?

时间:2017-10-23 21:46:30

标签: spring neo4j spring-data-neo4j

在升级到Neo 3.2.3(来自Neo 2.5)时,我不得不升级我的Spring Data依赖项。升级的主要原因是利用Neo的新Bolt协议。我碰到了版本(使用maven pom.xml),特别是我遇到了一个问题 - 如何为Sessions和RemoteServer配置设置脚手架。

org.springframework.data.neo4j.server.RemoteServer已从SD4N api中删除,破坏了我的代码,我不知道如何再次编译。我在网上尝试了很多来源,收效甚微。这是我读过的内容:

Neo4j 3.0 and spring data

https://docs.spring.io/spring-data/neo4j/docs/current/reference/html/#_spring_configuration

https://graphaware.com/neo4j/2016/09/30/upgrading-to-sdn-42.html

这些资源都没有解释如何重构Spring配置(及其客户端)以使用替换RemoteServer对象的任何内容。

如何使用Spring Data Neo4J连接到我的Neo数据库,给定网址,用户名和密码?。用于解释这些与SessionSessionFactory的相互关系的加分点。

1 个答案:

答案 0 :(得分:0)

配置应如下所示:

@Configuration
@EnableNeo4jRepositories(basePackageClasses = UserRepository.class)
@ComponentScan(basePackageClasses = UserService.class)
static class Config {

    @Bean
    public SessionFactory getSessionFactory() {
        return new SessionFactory(configuration(), User.class.getPackage().getName());
    }

    @Bean
    public Neo4jTransactionManager transactionManager() throws Exception {
        return new Neo4jTransactionManager(getSessionFactory());
    }

    @Bean
    public org.neo4j.ogm.config.Configuration configuration() {
        return new org.neo4j.ogm.config.Configuration.Builder()
                .uri("bolt://localhost")
                .credentials("username", "password")
                .build();
    }
}

SessionFactory和Session被描述为here

请评论文档中不清楚的内容。