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:
- 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;
}
}
- 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;
}
}
- 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;
}
- 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.