Sobes.tech
Junior — Middle

Bir uygulamada Beans için bağımlılık enjeksiyonunu nasıl gerçekleştirebilirsiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da, Beans için Bağımlılık Enjeksiyonu (Dependency Injection, DI) birkaç şekilde uygulanabilir:

  1. Yapıcı (Constructor) aracılığıyla — bağımlılıklar sınıfın yapıcısına geçirilir. Bu en tercih edilen yoldur, çünkü değiştirilemez nesneler oluşturmayı sağlar ve testi kolaylaştırır.
public class Service {
    private final Repository repo;

    public Service(Repository repo) {
        this.repo = repo;
    }
}
  1. Setterlar aracılığıyla (Setter Injection) — bağımlılıklar nesne oluşturulduktan sonra setter metodlarıyla ayarlanır.
public class Service {
    private Repository repo;

    public void setRepository(Repository repo) {
        this.repo = repo;
    }
}
  1. Alanlar aracılığıyla (Field Injection) — bağımlılıklar doğrudan sınıf alanlarına anotasyonlar kullanılarak enjekte edilir, örneğin Spring'de @Autowired.
public class Service {
    @Autowired
    private Repository repo;
}
  1. Fabrika metodları veya yapılandırma sınıfları aracılığıyla — Beans oluşturma ve bağlama, yapılandırma sınıflarında veya XML'de yapılır.

Her yöntemin avantajları ve dezavantajları vardır, ancak modern uygulamalarda genellikle yapıcı enjeksiyon veya Spring anotasyonları kullanılır, böylece bağımlılıkların otomatik bağlanması sağlanır.