Configuration Spring数据Neo4J数据库连接

Configuration Spring数据Neo4J数据库连接,configuration,spring-data,spring-data-neo4j,spring-data-neo4j-4,neo4j-ogm,Configuration,Spring Data,Spring Data Neo4j,Spring Data Neo4j 4,Neo4j Ogm,我正试图通过以下链接()使用Spring数据连接到Neo4J数据库。但它似乎不起作用。它无法自行创建存储库实现。这就是为什么我会被炒鱿鱼。这里是我迄今为止所尝试的 PersistenceContext.java PersonRepository.java PersonController.java WebMvcConfig.java POM.xml org.springframework.data spring数据共享 1.13.1.释放 org.springframework.data sp

我正试图通过以下链接()使用Spring数据连接到Neo4J数据库。但它似乎不起作用。它无法自行创建存储库实现。这就是为什么我会被炒鱿鱼。这里是我迄今为止所尝试的

  • PersistenceContext.java
  • PersonRepository.java
  • PersonController.java
  • WebMvcConfig.java
  • POM.xml
  • 
    org.springframework.data
    spring数据共享
    1.13.1.释放
    org.springframework.data
    spring-data-neo4j
    4.2.1.1发布
    org.springframework
    弹簧网
    4.3.7.1发布
    org.springframework
    SpringWebMVC
    4.3.7.1发布
    javax.servlet
    javax.servlet-api
    3.1.0
    编译
    org.neo4j
    neo4j ogm嵌入式驱动程序
    2.1.2
    org.neo4j
    neo4j ogm核
    2.1.1
    org.neo4j
    neo4j ogm http驱动程序
    2.1.1
    org.neo4j
    neo4j核
    3.1.3
    org.neo4j.app
    neo4j服务器
    3.1.3
    
    我遇到以下异常情况

    原因:org.springframework.beans.BeanInstantiationException: 未能实例化[org.neo4j.ogm.session.SessionFactory]:工厂 方法“getSessionFactory”引发异常;嵌套异常是 org.neo4j.ogm.exception.ServiceNotFoundException:无法加载 驱动程序:空


    任何帮助都是好的

    您没有说明您使用的是哪个版本,但是如果您使用的是4.2.1,那么快速启动似乎缺少事务管理器定义:

    将以下内容添加到PersistenceContext类:

    @Bean
    public Neo4jTransactionManager transactionManager() {
        return new Neo4jTransactionManager(sessionFactory());
    }
    
    有关更多详细信息,请参阅spring-data-neo4j文档


    我使用的是4.2.1,但4.2.1版本没有org.springframework.data.neo4j.config.Neo4jConfiguration类。所以我把版本改成了4.1.8。您给出的解决方案给了我一个错误,即“构造函数Neo4jTransactionManager(SessionFactory)未定义”。可能是因为4.1.8。是的,对于4.2.1,只需删除
    扩展Neo4jConfiguration
    @frant.harth,我已更新了问题,但有例外和pom.xml。我收到“无法加载驱动程序:null。”错误。@KSHiTiJ驱动程序配置是什么样子?@frant.harth我更新PersistenceContext.java。请查收。
    @Repository
    public interface PersonRepository extends GraphRepository<Person> {
    }
    
    @Service
    public class PersonService {  
      @Autowired
      private PersonRepository personRepository;
    
      public Person save(Person person) {
          return personRepository.save(person);
      }
    }
    
    @RestController
    @RequestMapping("/person/**")
    public class PersonController {
      @Autowired
      private PersonService personService;
    
      @RequestMapping("/save")
      public ResponseObject save(@RequestBody Person person) 
      {
          try {
              personService.save(person);
              return ResponseObjectCreator.createResponseObj(ResponseStatus.SUCSESS);
          }
          catch (Exception e) {
              e.printStackTrace();
          }
          return ResponseObjectCreator.createResponseObj(ResponseStatus.FAILURE); 
      }
    }
    
     @Configuration
        @EnableWebMvc
        @ComponentScan(basePackages = {"com.ksh.neo4j.controllers", "com.ksh.neo4j"})
        public class WebMvcConfig extends WebMvcConfigurerAdapter {]
          @Override
          public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
              configurer.enable();
          }
        }
    
    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-commons</artifactId>
      <version>1.13.1.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-neo4j</artifactId>
      <version>4.2.1.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>4.3.7.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.3.7.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.neo4j</groupId>
      <artifactId>neo4j-ogm-embedded-driver</artifactId>
      <version>2.1.2</version>
    </dependency>
    <dependency>
      <groupId>org.neo4j</groupId>
      <artifactId>neo4j-ogm-core</artifactId>
      <version>2.1.1</version>
    </dependency>
    <dependency>
      <groupId>org.neo4j</groupId>
      <artifactId>neo4j-ogm-http-driver</artifactId>
      <version>2.1.1</version>
    </dependency>
    <dependency>
      <groupId>org.neo4j</groupId>
      <artifactId>neo4j-kernel</artifactId>
      <version>3.1.3</version>
    </dependency>
    <dependency>
      <groupId>org.neo4j.app</groupId>
      <artifactId>neo4j-server</artifactId>
      <version>3.1.3</version>
    </dependency>
    
    @Bean
    public Neo4jTransactionManager transactionManager() {
        return new Neo4jTransactionManager(sessionFactory());
    }