Spring Data CrudRepository 公开的方法不读取或写入 dynamodb

问题描述 投票:0回答:1

我尝试使用 Spring Data CrudRepository 默认的不需要实现的 CRUD 操作来完成。所有操作均未进入 dynamodb。没有异常或指示性日志消息。

我扩展了 CrudRepository:

@EnableScan
public interface DrinkRepository extends CrudRepository<Drink, String> {
    Drink save(Drink drink);
    Optional<Drink> findById(String id);
    }

将存储库注入我的服务中:

@Service
public class DrinkService {

@Autowired
DrinkRepository drinkRepo;

public Optional<Drink> getDrinksByName(String name){
    System.out.println("Line7");
    Optional<Drink> drink = drinkRepo.findById("01");
    System.out.println(drink);
    
    
    return drink;
}

public Drink createDrink() {
    
    Drink mockDrink = new Drink("name");
    mockDrink.setId("04"); 
    drinkRepo.save(mockDrink);
    
    return mockDrink;
    
}

从我的控制器调用:

  @PostMapping("/saveDrink")
  public Drink createDrink() {
     Drink drink = new Drink("screwdriver");
     drink.setId("03");

     return drinkService.createDrink();
  }

我的 dynamodb 连接:

  @Bean
  public AmazonDynamoDB amazonDynamoDB() {
      AmazonDynamoDB amazonDynamoDB 
        = new AmazonDynamoDBClient(amazonAWSCredentials());
  
      if (!StringUtils.isEmpty(dynamoDbEndpoint)) {
        amazonDynamoDB.setEndpoint(dynamoDbEndpoint);
       }
  
     return amazonDynamoDB;
     }

  @Bean
  public AWSCredentials amazonAWSCredentials() {
      return new BasicAWSCredentials(
          awsAccessKey, awsSecretKey);
  }
spring-boot amazon-dynamodb spring-data crud-repository
1个回答
0
投票

你必须将其添加到某些配置中

@EnableDynamoDBRepositories

详情请见https://www.baeldung.com/spring-data-dynamodb

© www.soinside.com 2019 - 2024. All rights reserved.