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
ていることをどうやって知るのでしょうか?RestHighLevelClient
ElasticsearchConfig.restClient()