0

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

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

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

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

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

@Configuration
@EnableNeo4jRepositories("<packagename>.neo4j.repository") @EnableTransactionManagement
公共类 DatabaseConfigurationNeo4j 扩展 Neo4jConfiguration
{
...
}

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

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

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

谢谢你。

4

1 回答 1

0

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

于 2017-11-06T07:23:30.240 回答