Class AbstractDynamoDbConfiguration

java.lang.Object
io.awspring.spring.data.dynamodb.config.AbstractDynamoDbConfiguration
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware
Direct Known Subclasses:
DynamoDbConfig

@Configuration public abstract class AbstractDynamoDbConfiguration extends Object implements org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware
Base Spring configuration for DynamoDB mapping and template beans.
Since:
1.0.0
Author:
Matej Nedic
  • Constructor Details

    • AbstractDynamoDbConfiguration

      public AbstractDynamoDbConfiguration()
  • Method Details

    • dynamoDbConverter

      @Bean public DynamoDbConverter dynamoDbConverter(DynamoDbMappingContext dynamoDbMappingContext, DynamoDbConversions dynamoDbConversions, PropertyValueConversions propertyValueConversions)
      Returns:
      the entity converter
    • dynamoDbExceptionTranslator

      @Bean public DynamoDbExceptionTranslator dynamoDbExceptionTranslator()
      Returns:
      the default DynamoDB exception translator
    • dynamoDbTemplate

      @Bean public DynamoDbTemplate dynamoDbTemplate(software.amazon.awssdk.services.dynamodb.DynamoDbClient dynamoDbClient, DynamoDbConverter dynamoDbConverter, DynamoDbExceptionTranslator dynamoDbExceptionTranslator)
      Returns:
      the configured DynamoDB template
    • dynamoDbClient

      public software.amazon.awssdk.services.dynamodb.DynamoDbClient dynamoDbClient()
      Creates the default AWS SDK client for standalone configurations. Override this method and annotate it with @Bean to register a client without external auto-configuration.
      Returns:
      the default AWS SDK DynamoDB client
    • dynamoDbMappingContext

      @Bean public DynamoDbMappingContext dynamoDbMappingContext(DynamoDbConversions dynamoDbConversions) throws ClassNotFoundException
      Returns:
      the configured mapping context
      Throws:
      ClassNotFoundException
    • customConverters

      protected List<?> customConverters()
      Returns:
      custom converters added to the mapping conversion service
    • customConversions

      @Bean public DynamoDbConversions customConversions()
      Returns:
      the configured DynamoDB custom conversions
    • propertyValueConversions

      @Bean public PropertyValueConversions propertyValueConversions()
      Returns:
      per-property value conversions
    • setBeanClassLoader

      public void setBeanClassLoader(@Nullable ClassLoader classLoader)
      Specified by:
      setBeanClassLoader in interface org.springframework.beans.factory.BeanClassLoaderAware
    • requireBeanOfType

      protected <T> T requireBeanOfType(@NonNull Class<T> beanType)
      Returns a required bean from this configuration's bean factory.
    • setBeanFactory

      public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) throws org.springframework.beans.BeansException
      Specified by:
      setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAware
      Throws:
      org.springframework.beans.BeansException
    • getBeanFactory

      protected @NonNull org.springframework.beans.factory.BeanFactory getBeanFactory()
      Returns:
      the initialized bean factory
    • getBeanClassLoader

      protected Optional<ClassLoader> getBeanClassLoader()
      Returns:
      the configured bean class loader, if available
    • getInitialEntitySet

      protected Set<Class<?>> getInitialEntitySet() throws ClassNotFoundException
      Returns:
      entity classes discovered in the configured base packages
      Throws:
      ClassNotFoundException
    • getEntityBasePackages

      protected String[] getEntityBasePackages()
      Returns:
      packages scanned for mapped entity classes