Ошибка реализации пружины elasticsearch

У меня есть интерфейс, в котором есть функция, используемая для запроса ElasticSearch. Для этого он расширяет ElasticsearchRepository.

public interface HouseholdRepository extends ElasticsearchRepository<SearchHouseholdESBean, String> {
    List<SearchHouseholdESBean> findByPhoneNumberAndActiveInd(String phoneNumber, String activeInd);

Проблема в том, как назвать это в моем бизнес-классе, где мне нужно получить результаты. Поскольку это интерфейс, я не могу создать его объект для вызова методов. Кроме того, реализация неявно связана с банками в эластичном поиске.

Вы не можете создать экземпляр объекта, но можете его автоматически подключить.

AchillesVan 31.10.2018 13:57

@georges van Я пробовал что-то вроде: - "@Autowired private HouseholdRepository domesticRepository;" в классе реализации, но объект имеет значение NULL. В чем может быть причина этого?

jatin bajaj 31.10.2018 14:07
0
2
114
1

Ответы 1

Чтобы использовать репозитории elastichsearch, вы должны выполнить следующие шаги: 1. добавьте аннотацию @EnableElasticsearchRepositories к вашему SpringBootApplication

@SpringBootApplication
@EnableElasticsearchRepositories
public class Application {
//...

2. Убедитесь, что интерфейс HouseholdRepository просканирован приложением с весенней загрузкой. Вы можете легко добиться этого, поместив его в тот же корневой пакет, что и ваш класс Application.

3. Вы просто включите @Autowire HouseholdRepository в свой сервис без дальнейших изменений. Идея весенних загрузочных данных заключается в том, что код будет сгенерирован на основе этого интерфейса.

OBS: убедитесь, что у вас есть правильные зависимости проекта. Вы должны положиться на spring-boot-starter-data-elasticsearch, чтобы избежать дополнительных усилий по настройке.

Спасибо за ответ. В файле конфигурации, где я устанавливаю свой транспортный клиент, указано следующее: "@ EnableElasticsearchRepositories @ Configuration @ ComponentScan (basePackages = {" com.amdocs.bda.ccr "}) public class CCRServicesConfig {@ Bean public ElasticsearchOperations elasticsearchTemplate () {" Будет ли это достаточно, или мне нужно добавить аннотацию «@ SpringBootApplication» в тот же файл

jatin bajaj 01.11.2018 09:20

Другие вопросы по теме