diff --git a/src/main/java/org/socialsignin/spring/data/dynamodb/repository/config/DynamoDBRepositoryConfigExtension.java b/src/main/java/org/socialsignin/spring/data/dynamodb/repository/config/DynamoDBRepositoryConfigExtension.java index d9407ccd..6a52c04d 100644 --- a/src/main/java/org/socialsignin/spring/data/dynamodb/repository/config/DynamoDBRepositoryConfigExtension.java +++ b/src/main/java/org/socialsignin/spring/data/dynamodb/repository/config/DynamoDBRepositoryConfigExtension.java @@ -260,7 +260,7 @@ public void registerBeansForRoot(BeanDefinitionRegistry registry, this.registry = registry; this.dynamoDBMapperConfigName = getBeanNameWithModulePrefix("DynamoDBMapperConfig"); - Optional dynamoDBMapperConfigRef = configurationSource.getAttribute("dynamoDBMapperConfigRef"); + Optional dynamoDBMapperConfigRef = configurationSource.getAttribute("dynamoDBMapperConfigRef"); if (!dynamoDBMapperConfigRef.isPresent()) { BeanDefinitionBuilder dynamoDBMapperConfigBuiilder = BeanDefinitionBuilder @@ -269,10 +269,13 @@ public void registerBeansForRoot(BeanDefinitionRegistry registry, dynamoDBMapperConfigBuiilder.getBeanDefinition()); } - this.dynamoDBMapperName = getBeanNameWithModulePrefix("DynamoDBMapper"); - BeanDefinitionBuilder dynamoDBMapperBuilder = BeanDefinitionBuilder - .genericBeanDefinition(DynamoDBMapperFactory.class); - registry.registerBeanDefinition(this.dynamoDBMapperName, dynamoDBMapperBuilder.getBeanDefinition()); + Optional dynamoDBMapperRef = configurationSource.getAttribute("dynamoDBMapperRef"); + if(!dynamoDBMapperRef.isPresent()) { + this.dynamoDBMapperName = getBeanNameWithModulePrefix("DynamoDBMapper"); + BeanDefinitionBuilder dynamoDBMapperBuilder = BeanDefinitionBuilder + .genericBeanDefinition(DynamoDBMapperFactory.class); + registry.registerBeanDefinition(this.dynamoDBMapperName, dynamoDBMapperBuilder.getBeanDefinition()); + } } protected String getBeanNameWithModulePrefix(String baseBeanName) { diff --git a/src/main/java/org/socialsignin/spring/data/dynamodb/repository/config/EnableDynamoDBRepositories.java b/src/main/java/org/socialsignin/spring/data/dynamodb/repository/config/EnableDynamoDBRepositories.java index aab62d99..15db0bde 100644 --- a/src/main/java/org/socialsignin/spring/data/dynamodb/repository/config/EnableDynamoDBRepositories.java +++ b/src/main/java/org/socialsignin/spring/data/dynamodb/repository/config/EnableDynamoDBRepositories.java @@ -147,6 +147,17 @@ */ String dynamoDBMapperConfigRef() default ""; + /** + * Returns the + * {@link com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper } + * reference to be used + * + * @return The + * {@link com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper} + * bean name + */ + String dynamoDBMapperRef() default ""; + /** * Returns the {@link javax.validation.Validator } reference to be used for to * validate DynamoDB entities