2. • Kolay uygulama geliştirme
• Hafif yapı
• Esnek
• Modüler
• Bağımsız
• Birçok özellik barındırır
• Yedi farklı katman
• Kolay test edilebilir
• Öne çıkanlar: AOP(Aspec Oriented
Programming), IOC (Inversion of
Control), DAO(Data Access
Objects)
Spring ?
4. • Inversion of Control diğer adıyla Dependency Injection
• Birçok uygulama arasında iş akışının kurulmasını sağlar
• Değişik mimarilerden gelen parçaları etkilemeden
birleşimi sağlar
Tipler:
• Type 1 IOC : Interface Injection
• Type 2 IOC :Setter Injection
• Type 3 IOC : Constructor Injection
IOC Nedir?
5. • Java nesnelerinin konfigürasyonunu sağlar
• XMLBeanFactory,XML tabanlı dosyadan nesne yönetimi
yapar
• ListableBeanFactory,property dosyasından nesne
yönetimi yapar
• BeanFactory nesneleri oluşturulurken tüm singleton
nesneler oluşturulur
• False yapılmadığı sürece tüm nesneler singleton,true
olursa protoype olmaktadır. (prototpye: her yaratımda
yeni bağımsız bir nesne oluşur)
• Performans kaybı olmaması için: lazy-init=true
Bean Factory
7. • Setter metodu ile konfigürasyon dosyasının ayarlandığı
yöntem
• Web tabanlı uygulamalarda XML biçimi kullanılır
Setter Injection
8. • Bağımlılıkların sınıflara ait constructorlarda yer almasıdır
• Pico Container; sistem ve sınıflar arasındaki bağlantıların
ayarlanması için de konfigürasyon içerir
• Fazla bağımlılık fazla kod gerektirir
• Setter metoduna göre daha sağlamdır
Constructor Injection
9. • Bağımlılıkların enjeksiyonu için interfaceler kullanılır
• Bu interfaceleri içeren containerlera yer verilir
• Interfaceleri gerçekleyen sınıflar yazılır
• Konfigürasyon için de bir sınıf yazılır (konf. dosyasında
da ayarlanabilir)
Interface Injection
10. • İhtiyaç duyulan hizmetleri tespit eder
• IOC alternatifi
• Test edilebilirliği az
• Belli bağımlılıklar taşır
Service Locator