Spring Boot’da @Qualifier Annotasyonu

Spring Framework, bağımlılıklarınızı otomatik olarak enjekte etmenizi sağlar. Fakat bazen, birden fazla bean türünün mevcut olması durumunda, Spring hangi bean’in enjekte edileceğini belirlemekte zorlanır. İşte bu noktada @Qualifier annotasyonu devreye girer.

@Autowired annotasyonu kullanıldığında Spring, bağımlılığı otomatik olarak enjekte eder. Ancak birden fazla aday bean olduğunda, hangi bean’in kullanılması gerektiğini belirtmemiz gerekiyor. İşte @Qualifier annotasyonu bu seçimi yapmamızı kolaylaştırır.

Örneğin, aşağıdaki gibi bir durumu düşünelim:

Şimdi bu servislerden birini @Autowired ile enjekte etmek istediğimizde, hangi servisi kullanacağımızı belirtmemiz gerekecektir.

Yukarıdaki örnekte, @Qualifier(“emailService”) ile EmailService bean’ini enjekte ediyoruz. Eğer “smsService” olarak değiştirseydik, SmsService bean’ini enjekte ederdik.

Field Enjeksiyonunda @Qualifier

Sadece constructor bazlı enjeksiyon için değil, field bazlı enjeksiyon için de @Qualifier kullanabiliriz:

@Qualifier ile Birden Fazla Bağımlılığın Enjekte Edilmesi

Birden fazla bağımlılığı aynı anda enjekte etmek için de @Qualifier kullanabilirsiniz:

Spring Boot’da, @Qualifier annotasyonu sayesinde birden fazla bean arasında seçim yaparak bağımlılıklarımızı daha kontrollü bir şekilde enjekte edebiliriz. Bu özellik, büyük projelerde veya birden fazla benzer bean’in olduğu durumlarda oldukça kullanışlıdır.

Umarım “Spring Boot’da @Qualifier Annotasyonu” başlıklı yazım sizin için faydalı olmuştur.

Şu yazılar da ilginizi çekebilir.

Spring Boot’da @Primary Annotasyonu

Yeni bir yazımda görüşmek üzere.

Happy coding!

Yorum Yazın