使用spring boot 1.5.7配置mongo和neo4j时出错

时间:2017-11-03 07:28:26

标签: spring mongodb spring-boot spring-data-neo4j spring-boot-gradle-plugin

我在Spring Boot应用程序中使用MongoDb和Neo4j。我最近通过Spring Boot Gradle Plugin从1.2.6更新到1.5.7。

我有两个配置文件,一个用于mongo,另一个用于neo4j。更新spring boot版本后,我发现@EnableMongoRepositories@EnableNeo4jRepositories在各自的配置文件中显示以下错误:

  

没有在类
中定义1个参数的构造函数   'org.springframework.data.mongodb.repository.support.MongoRepositoryFactoryBean'

     

没有在类中定义1个参数的构造函数   'org.springframework.data.neo4j.repository.support.GraphRepositoryFactoryBean'

我在neo4j配置中有以下注释:

  

@Configuration
  @ EnableNeo4jRepositories( “<包名> .neo4j.repository”)   @EnableTransactionManagement
  公共类DatabaseConfigurationNeo4j   扩展了Neo4jConfiguration
{
...
}

并在mongo config中注释:

  

@Configuration
@Profile(“!”+ Constants.SPRING_PROFILE_CLOUD)
  @EnableMongoRepositories( “<包名> .repository”)
  @Import(value = MongoAutoConfiguration.class)
  @EnableMongoAuditing(auditorAwareRef =“springSecurityAuditorAware”)
  公共类DatabaseConfiguration扩展AbstractMongoConfiguration
  {
...
}

如果我从文件中删除这些@EnableRepositories行,则会删除这些错误,但是当我运行它时,存储库bean不会创建。我认为这些行是必要的,但不知道如何删除此错误。

谢谢。

1 个答案:

答案 0 :(得分:0)

将spring-neo4j更新为4.2.8(不是5.0.0,因为neo4j 5.0.0将与spring-boot 2.0 M及以上版本一起使用),spring-mongo更新为1.10.6解决了配置问题。