Как загрузить Spring Data KeyValue?

Spring Data KeyValue отлично подходит для быстрого запуска фиктивного микросервиса. Как я могу загрузить его с данными?

Я пытался добавить материал в KeyValueAdapter, но, указав бин сам, я в конечном итоге Repositoryы, которые были связаны с другим KeyValueAdapterи так нет данных.

@Configuration
@EnableMapRepositories
public class PersistenceConfig
{
    @Bean
    public KeyValueAdapter keyValueAdapter() {
        KeyValueAdapter adapter = new MapKeyValueAdapter(ConcurrentHashMap.class);
        Account testAccount = new Account();
        testAccount.id = "dj-asc-test";
        testAccount.givenName = "Gertrude";
        adapter.put(testAccount.id, testAccount, "accounts");
        Account read = (Account) adapter.get("dj-asc-test", "accounts");
        Assert.notNull(read);
        return adapter;
    }
}

1 ответ

Решение

Я думаю, вы бы предпочли использовать хранилище, так как адаптер в основном для подключения других Map Реализации. Предположим, у вас есть PersonRepository как это:

interface PersonRepository extends CrudRepository<Person, Long> { … }

Тогда это должно работать:

@Configuration
@EnableMapRepositories
class Application {

  @Autowired PersonRepository repository;

  @PostConstruct
  public void init() {
    repository.save(new Person(…));
  }
}
Другие вопросы по тегам