Injeção de Dependência Dinâmica

2335 단어 javacdijavaeejakartae
Hoje vou falar um pouco sobre injeção de dependsência sob demanda.

E comum encontrarmos beans ou controllers ou qualquer outra classe com várias injeções de dependsências e na maioria das vezes uma boa parte dessas injeções são usadas em momentos pontuais da rotina.

Quando a classe que contém esses injects e instanciada, a CDI vai se virar para criar e disponibilizar todas as suas dependsências, já imaginou se em cada uma das dependsências existir uma lógica no seu construtor? talvez possa resultar em perca de performance.

Vamos ver na prática:

na forma tradicional seria mais ou menos assim:

@inject
private Payment payment;



주입 요구 사항을 단순하게 구현하는 파라

@inject
@any
private Instance<Payment> paymentInstance; testess

private Payment payment;


Se observar estamos usando o objeto Instance para "segurar"as injeções, para que possamos obter a implementação de forma mais simples e rápida, passamos por paraâmetro a interface.

e no momento em que preciarmos dessa dependsência a chamamos da seguinte forma:

if( condition ){

this.payment = paymentInstance.select(SuaImplementacao.class).get();

}


será apenas nesse momento em que a injeção e efetivamente será executada.

Ficamos por aqui hoje... até a próxima

좋은 웹페이지 즐겨찾기