@Qualifier

Mustafa Çam - Jun 1 - - Dev Community

@Qualifier anotasyonu, Spring Framework'de bağımlılık enjeksiyonunu (dependency injection) özelleştirmek için kullanılır. Spring, bir sınıfın bağımlılıklarını otomatik olarak enjekte etmek için @Autowired anotasyonunu kullanır. Ancak, aynı türden birden fazla bean (nesne) varsa, Spring hangi bean'in enjekte edileceğini bilemez ve bu durumda @Qualifier kullanılır. @Qualifier, hangi bean'in enjekte edileceğini belirlemek için kullanılır.

@Qualifier Kullanımı

  1. Tanımlama: İlk olarak, birden fazla bean oluşturulmalıdır. Her biri farklı bir isimle tanımlanır.
@Configuration
public class AppConfig {

    @Bean
    public Vehicle car() {
        return new Car();
    }

    @Bean
    public Vehicle bike() {
        return new Bike();
    }
}
Enter fullscreen mode Exit fullscreen mode
  1. Enjeksiyon: Daha sonra, @Autowired ile birlikte @Qualifier kullanarak belirli bir bean'i enjekte edebilirsiniz.
public class VehicleService {

    private final Vehicle vehicle;

    @Autowired
    public VehicleService(@Qualifier("car") Vehicle vehicle) {
        this.vehicle = vehicle;
    }

    public void service() {
        vehicle.drive();
    }
}
Enter fullscreen mode Exit fullscreen mode

Bu örnekte, VehicleService sınıfı içinde car bean'i enjekte edilir. Eğer @Qualifier kullanılmazsa ve birden fazla Vehicle türünde bean varsa, Spring bir çakışma hatası verir.

@Qualifier'ın Avantajları

  • Netlik: Hangi bean'in enjekte edileceği açıkça belirtilir.
  • Çakışma Önleme: Aynı türden birden fazla bean olduğunda, çakışmaları önler.
  • Kontrol: Geliştiriciye daha fazla kontrol sağlar ve hangi bean'in kullanıldığını belirtmek için esneklik sunar.

Özet

@Qualifier anotasyonu, Spring'de bağımlılık enjeksiyonunu özelleştirmek ve belirli bean'leri seçmek için kullanılır. @Autowired anotasyonu ile birlikte kullanıldığında, aynı türden birden fazla bean olduğunda hangi bean'in enjekte edileceğini açıkça belirler. Bu, çakışmaları önler ve kodun daha okunabilir ve bakımı daha kolay olmasını sağlar.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player