Sobes.tech
Junior — Middle

Quarkus'ta Bağımlılık Enjeksiyonu kullanılarak Kontrolün Tersine Çevirisi etkisi nasıl elde edilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Quarkus'ta Kontrolün Tersine Çevirisi (IoC) etkisi, CDI (Contexts and Dependency Injection) spesifikasyonuna dayanan bağımlılık enjeksiyonu (Dependency Injection, DI) mekanizmasıyla sağlanır. Quarkus, @Inject, @ApplicationScoped, @Singleton gibi anotasyonlarla işaretlenmiş sınıfları ve bileşenleri otomatik olarak tarar ve yaşam döngülerini yönetir.

Kodda bir bağımlılık gerektiğinde, Quarkus gerekli nesneyi otomatik olarak enjekte eder, böylece geliştirici nesneleri manuel olarak oluşturmak ve yönetmek zorunda kalmaz. Bu, uygulamanın modülerliğini artırır, testleri kolaylaştırır ve uygulama bileşenlerinin değiştirilmesini sağlar.

Örnek:

import javax.inject.Inject;
import javax.enterprise.context.ApplicationScoped;

@ApplicationScoped
public class Service {
    public String serve() {
        return "Service is working";
    }
}

@ApplicationScoped
public class Consumer {
    @Inject
    Service service;

    public void doWork() {
        System.out.println(service.serve());
    }
}

Burada Consumer, Service nesnesini kendisi oluşturmaz, onun yerine Quarkus konteynerinden DI aracılığıyla alır, bu da IoC'nin bir göstergesidir.