Page 120 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 120
120 | Spring Framework
Inversion of Control “Inversion” terimi, uygulamanın bağımlılıkları kullanarak kendi koduyla işleyişi
kontrol etmesine izin verilmemesinden kaynaklanır. Bunun yerine, çerçeve (bağımlılık), uygulama
ve kodun kontrolünü ele alır. (Şekil 4)
IoC Olmadan
Uygulama ihtiyaç duyduğu
bağımlılıkları yürütür ve kontrol eder.
Bağımlılık Bağımlılık Bağımlılık
Kontroller
Uygulama
IoC ile Birlikte
Uygulama çerçeve tarafından
kontrol edilerek yürütülür.
Uygulama
Kontroller
Çerçeve (Bağımlılık)
Şekil 4. IoC ile Framework Uygulamaları
IoC senaryolarında, kendi kodunu kontrol etmek yerine, uygulama bağımlılık tarafından kontrol edilir.
Spring Framework, uygulamanın yürütme sırasında kontrolünü ele alır ve IoC yürütme senaryosunu
uygular.
Beans; Spring Beans modülü tarafından sağlanan bir factory pattern uygulamasıdır. Bu, nesnelerin
oluşturulması, yapılandırılması ve yönetilmesi için bir mekanizma sağlar. BeanFactory, nesnelerin
yaşam döngüsünü yönetir ve ihtiyaç duyulduğunda onları oluşturur veya havuza alır. Bu sayede
uygulama performansı artar ve kaynak kullanımı optimize edilir.
Context; kurulmuş ve yapılandırılmış herhangi bir nesneye erişim için bir araç sağlar. Core ve Beans
modülleri tarafından sağlanan sağlam temel üzerine kuruludur. Bu modül, nesnelerin yaratılmasını,
yapılandırılmasını ve yönetilmesini kolaylaştıran ek özellikler sunar. ApplicationContext arayüzü,
Context modülünün odak noktasıdır ve genişletilmiş yapılandırma, olay yayını ve mesajlaşma gibi
özellikleri içerir.
SpEL; Spring Expression Language kısaltmasıdır. Bu, Spring uygulamalarında nesne grafiğindeki
nesnelere dinamik olarak erişim sağlamak ve manipüle etmek için kullanılan güçlü bir ifade dilidir.
SpEL, XML ve Java tabanlı yapılandırma dosyalarında kullanılabilir ve nesnelerin özellikleri, metotları
ve dizilerine erişim sağlar. Bu sayede kod yazımı daha kolay ve daha az tekrarlı hale gelir.