Ошибка создания бина с именем customerRepository: сбой вызова метода init - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь подключить приложение весенней загрузки с DynamoDB, используя эту статью . Но я получаю эту ошибку:

org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем customerRepository: сбой вызова метода init; Вложенное исключение - java.lang.AbstractMethodError: org.springframework.data.mapping.context.AbstractMappingContext.createPersistentProperty (Lorg / springframework / data / mapping / model / Property; Lorg / springframeworkwork / data / mapping / ltable / m / / данные / отображение / модель / SimpleTypeHolder;) Lorg / springframework / данные / отображение / PersistentProperty;

Мой код:

Модель клиента:

@DynamoDBTable(tableName = "Customer")
public class Customer {

private String id;
private String firstName;
private String lastName;

public Customer() {
}

public Customer(String id, String firstName, String lastName) {
    this.id = id;
    this.firstName = firstName;
    this.lastName = lastName;
}

@DynamoDBHashKey(attributeName = "Id")
public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

@DynamoDBAttribute(attributeName = "FirstName")
public String getFirstName() {
    return firstName;
}

public void setFirstName(String firstName) {
    this.firstName = firstName;
}

@DynamoDBAttribute(attributeName = "LastName")
public String getLastName() {
    return lastName;
}

public void setLastName(String lastName) {
    this.lastName = lastName;
}

@Override
public String toString() {
    return String.format("Customer[id=%s, firstName='%s', lastName='%s']", id, firstName, lastName);
}
}

DynamoDBConfig:

@Configuration
@EnableDynamoDBRepositories(basePackages = "com.DynamoTest.DynamoTest.repo")
public class DynamoDBConfig {

@Value("${amazon.dynamodb.endpoint}")
private String dBEndpoint;

@Value("${amazon.aws.accesskey}")
private String accessKey;

@Value("${amazon.aws.secretkey}")
private String secretKey;

@Bean
public AmazonDynamoDB amazonDynamoDB() {
    AmazonDynamoDB dynamoDB = new AmazonDynamoDBClient(amazonAWSCredentials());

    if (!StringUtils.isNullOrEmpty(dBEndpoint)) {
        dynamoDB.setEndpoint(dBEndpoint);
    }

    return dynamoDB;
}

@Bean
public AWSCredentials amazonAWSCredentials() {
    return new BasicAWSCredentials(accessKey, secretKey);
}
}

Repo:

@EnableScan
@Repository
public interface CustomerRepository extends CrudRepository<Customer,String> 
{


}
...