0

Java High Level REST Client (JHLRC) を使用して ElasticSearch に接続する方法を説明するこの投稿をフォローしています。

この質問の重要な部分はElasticsearchConfig.javaにあります。

@Configuration
public class ElasticsearchConfig {

    ...

    @Bean(destroyMethod = "close")
    public RestHighLevelClient restClient() {

        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY,
                new UsernamePasswordCredentials(userName, password));

        RestClientBuilder builder = RestClient.builder(new HttpHost(host, port))
                .setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider));

        RestHighLevelClient client = new RestHighLevelClient(builder);
        return client;

    }


}

およびProfileService.java :

@Service
public class ProfileService {

    private RestHighLevelClient client;
    private ObjectMapper objectMapper;

    @Autowired
    public ProfileService(RestHighLevelClient client, ObjectMapper objectMapper) {
        this.client = client;
        this.objectMapper = objectMapper;
    }

    ...

と を自動配線RestHighLevelClientしていますが、Springは必要なインスタンスが から来ObjectMapperていることをどうやって知るのでしょうか?RestHighLevelClientElasticsearchConfig.restClient()

4

1 に答える 1