İçeriğe geç

Servis Bulucu Enjeksiyonu (ARCH4198)

Anahtar java.quality.service-locator · Önem warning · Kategori quality

Konteyneri/sağlayıcıyı enjekte edip servisleri çalışma zamanında ondan çözmek bağımlılıkları gizler ve test etmeyi zorlaştırır. Bağımlılıkları kurucu enjeksiyonuyla alın.

@Service
class OrderService {
private final ApplicationContext ctx;
OrderService(ApplicationContext ctx) { this.ctx = ctx; }
void place() {
ctx.getBean(PaymentGateway.class).charge();
}
}
@Service
class OrderService {
private final PaymentGateway gateway;
OrderService(PaymentGateway gateway) { this.gateway = gateway; }
void place() { gateway.charge(); }
}

Konteyner yerine ihtiyaç duyulan servisleri doğrudan kurucu parametresi olarak enjekte edin.