Что делается довольно просто:
@Inject
private Provider<ProductService> productService;
Служба продукта доступна через productService.get()
, а .get()
разрешит экземпляр из контекста Spring для каждого вызова.
Но когда его использовать? И где?
Мое главное использование usecase довольно просто: когда я получаю циклические зависимости, поставщик помогает разрешить зависимость во время выполнения. Но это выглядит немного случайным, если вы просто выбросите его, просто не сможете создать свой контекст, вызванный циклической зависимостью.
Существуют ли какие-либо известные шаблоны об использовании Провайдеров?