Injeção de Dependência Dinâmica
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
Reference
이 문제에 관하여(Injeção de Dependência Dinâmica), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cassunde/injecao-de-dependencia-dinamica-28la텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)