Spring Data Elasticsearch 存储库也可以使用 CDI 功能进行设置。
例 1.使用 CDI 的 Spring Data Elasticsearch 存储库
class ElasticsearchTemplateProducer {
  @Produces
  @ApplicationScoped
  public ElasticsearchOperations createElasticsearchTemplate() {
    // ...                               (1)
  }
}
class ProductService {
  private ProductRepository repository;  (2)
  public Page<Product> findAvailableBookByName(String name, Pageable pageable) {
    return repository.findByAvailableTrueAndNameStartingWith(name, pageable);
  }
  @Inject
  public void setRepository(ProductRepository repository) {
    this.repository = repository;
  }
}
| 1 | 使用与 Elasticsearch 操作一章中使用的相同的调用创建组件。 | 
| 2 | 让 CDI 框架将 Repository 注入到您的类中。 | 
| 1 | 使用与 Elasticsearch 操作一章中使用的相同的调用创建组件。 | 
| 2 | 让 CDI 框架将 Repository 注入到您的类中。 |