Как загрузить 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(…));
}
}