创建名称为 'dynamoDB-DynamoDBMapper' 的 Bean 时出错



当我使用当前最新版本的Spring-data dynerdb(v.1.0(运行Spring Boot 2.0.0应用程序时,我在运行时会收到以下错误。

org.springframework.beans.factory.BeanCreationException:创建名为"dynamoDB DynamoDBMapper"的bean时出错:bean实例化失败;嵌套异常为org.springframework.beans.BeanInstanceException:未能实例化[org.socialignin.spring.data.dynoldedb.repository.config.DynamoDBMapperFactory]:找不到默认构造函数;嵌套异常为java.lang.NoSuchMethodException:org.socialignin.spring.data.dynoldedb.repository.config.DynamoDBMapperFactory。((

我尝试过以下方法:

  1. 将DynamoDBMapperFactory bean添加到我的配置类并使其成为主要
  2. AWSCredentials、DynamoDBMapperConfig、DynamoDB Mapper和AmazonDynamoDB bean配置的不同组合(例如,删除它们,使它们成为主要配置,为它们命名并明确引用它们(
  3. 传递给EnableDynamoDBRepositorys注释的配置的不同组合

原来spring data dynamo v5.1.0与我的spring Boot(2.0.0(版本不兼容

将spring数据生成器库降级到v5.0.4解决了我的问题。

您可以使用@EnableDynamoDBRepositoriesdynamoDBMapperConfigRef选项来解决此问题。添加下面的代码片段,

@EnableDynamoDBRepositories(dynamoDBMapperConfigRef = "dynamoDBMapperConfig")
@Bean
public DynamoDBMapperConfig dynamoDBMapperConfig() {
return
DynamoDBMapperConfig.builder()
.withTableNameOverride(withTableNameReplacement(tableName))
.build();
}

这甚至适用于最新版本的弹簧靴和弹簧数据发电机数据库。

Github中出现了一个Open问题。您也可以查看此链接,DynamoDBMapperConfig的第二个实例正在创建

相关内容

最新更新