Spring’de CI Dependent Object

sametklou

Spring’de CI Dependent Object

Spring uygulamaları geliştirirken sıklıkla karşılaşılan bir durum, bağımlılık içeren nesnelerin nasıl yönetileceğidir. Bu durumu ele alarak CI (Constructor Injection) dependent object kavramını tartışacağımız bu yazıda, başlangıç seviyesindeki geliştiriciler için detaylı bir şekilde konuyu açıklayacağız.

CI (Constructor Injection) Nedir?

CI, Spring framework içerisinde bağımlılıkların constructor üzerinden enjekte edilmesini sağlayan bir enjeksiyon türüdür. Bu yöntem kullanılarak, bağımlılıkların ve dependent object'lerin yönetimi daha kolay ve düzenli hale getirilebilir.

CI Dependent Object Nasıl Oluşturulur?

Spring framework içerisinde CI dependent object oluşturmak için öncelikle bir interface veya sınıf tanımlanmalıdır. Ardından bu interface veya sınıfı implemente eden yeni bir sınıf oluşturulmalı ve constructor üzerinden bağımlılıklar enjekte edilmelidir.

Örnek olarak, aşağıdaki kod bloğunu inceleyebilirsiniz:

public interface DependentObject {
    void doSomething();
}

public class DependentObjectImpl implements DependentObject {
    private final Dependency dependency;

    public DependentObjectImpl(Dependency dependency) {
        this.dependency = dependency;
    }

    public void doSomething() {
        // Bağımlı olduğu dependency ile işlemler yapılabilir
    }
}

Yukarıdaki örnekte görüldüğü gibi, DependentObjectImpl sınıfı DependentObject interface'ini implement etmektedir ve constructor aracılığıyla Dependency bağımlılığını almaktadır.

CI Dependent Object Nasıl Kullanılır?

CI dependent object'leri kullanırken, Spring context içerisinde bu nesnelerin tanımlanması ve diğer bağımlılıklarla uyumlu hale getirilmesi gerekmektedir. Bu işlem genellikle @Autowired veya @Bean annotation'larıyla yapılabilir.

Örnek olarak, aşağıdaki kod bloğunu inceleyebilirsiniz:

@Configuration
public class AppConfig {
    @Bean
    public Dependency dependency() {
        return new Dependency();
    }

    @Bean
    public DependentObject dependentObject(Dependency dependency) {
        return new DependentObjectImpl(dependency);
    }
}

Yukarıdaki örnekte, AppConfig sınıfı içerisinde Dependency ve DependentObject bean'leri tanımlanmış ve DependentObjectImpl sınıfı Dependency bağımlılığıyla birlikte oluşturulmuştur.

Bu yazıda, Spring framework içerisinde CI dependent object oluşturma ve kullanma konusunu detaylı bir şekilde ele aldık. Bu konuya daha fazla hakim olmak için örnek kod bloklarını inceleyebilir ve uygulamalı çalışmalar yapabilirsiniz.