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

Error configuring mongo and neo4j with spring boot 1.5.7

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

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

No constructor with 1 argument defined in class
'org.springframework.data.mongodb.repository.support.MongoRepositoryFactoryBean'

No constructor with 1 argument defined in class 'org.springframework.data.neo4j.repository.support.GraphRepositoryFactoryBean'

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

@Configuration
@EnableNeo4jRepositories("<packagename>.neo4j.repository") @EnableTransactionManagement
public class DatabaseConfigurationNeo4j extends Neo4jConfiguration
{
...
}

以及 mongo 配置中的以下注释:

@Configuration
@Profile("!" + Constants.SPRING_PROFILE_CLOUD)
@EnableMongoRepositories("<packagename>.repository")
@Import(value = MongoAutoConfiguration.class)
@EnableMongoAuditing(auditorAwareRef = "springSecurityAuditorAware")
public class DatabaseConfiguration extends AbstractMongoConfiguration
{
...
}

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

谢谢。

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