SlideShare a Scribd company logo
SPRING & IOC-DC
Seçil AYDIN
secil.aydin@argela.com.tr
• 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 ?
• http://www.springsource.org/download adresinden spring
  çatısı indirilir.
• Spring proje yapısı oluşturulur.
• Hazır IDE kullanılabilir. İndirmek için: Spring Tool Suite




Spring Kullanımı
• 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?
• 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
<bean id=“library” class=“com.Library”
         <property name=“book”>
                <ref bean=“book”/>
         </property>
  </bean>




XML Konf. Örneği
• Setter metodu ile konfigürasyon dosyasının ayarlandığı
  yöntem



• Web tabanlı uygulamalarda XML biçimi kullanılır




Setter Injection
• 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
• 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
• İhtiyaç duyulan hizmetleri tespit eder

• IOC alternatifi

• Test edilebilirliği az

• Belli bağımlılıklar taşır




Service Locator
• http://www.springsource.org/spring-framework
• Spring Reference Documentation
• http://www.theserverside.com/news/1364527/Introductio
  n-to-the-Spring-Framework
• http://en.wikipedia.org/wiki/Spring_Framework




Kaynaklar

More Related Content

PPTX
Spring boot
PPTX
JVM Tuning and Monitoring, JVM Languages, IDE
ODP
IBM Lotusphere İsdemir Portal
DOC
funciones lineal y cuadratica
PPT
Prediction of Atrial Fibrillation AMA-IEEE 2011
 
PPT
Prediction of Atrial Fibrillation AMA-IEEE 2011
 
PPTX
Biorhythms
PPTX
Working With JQuery Part1
Spring boot
JVM Tuning and Monitoring, JVM Languages, IDE
IBM Lotusphere İsdemir Portal
funciones lineal y cuadratica
Prediction of Atrial Fibrillation AMA-IEEE 2011
 
Prediction of Atrial Fibrillation AMA-IEEE 2011
 
Biorhythms
Working With JQuery Part1

Viewers also liked (19)

PDF
2010 the diagnosis and management of recurrent
PPTX
Digital storytelling and place-attachment: a 'lens' through which to analyse ...
PPTX
Asociacion americana de psicologia 1
PPTX
Київська "громадянська позиція". Проект нової сили
PPTX
Bulut Üzerine
PPT
WNBA 2013, primera jornada
PDF
Caderno Literario Pragmatha Nº 69 maio de 2015 * Antonio Cabral Filho - RJ
PDF
Projecte final
PPTX
Chinese Menu Botanique
PPTX
Ise la salle
PPTX
Portfólio de Marcas Frajo e Coty
PPTX
Retrospectiva 50 anos ubiratan
PPT
Slide atividade do livro didático
PDF
CURSO IRPF 1 PARTE
PDF
Valoración de la geología en las unidades territoriales del medio físico para...
ODP
Presentació carles&pere v.2
PPT
Mantenimiento
PPS
Des fois, ça va pas comme on voudrait
2010 the diagnosis and management of recurrent
Digital storytelling and place-attachment: a 'lens' through which to analyse ...
Asociacion americana de psicologia 1
Київська "громадянська позиція". Проект нової сили
Bulut Üzerine
WNBA 2013, primera jornada
Caderno Literario Pragmatha Nº 69 maio de 2015 * Antonio Cabral Filho - RJ
Projecte final
Chinese Menu Botanique
Ise la salle
Portfólio de Marcas Frajo e Coty
Retrospectiva 50 anos ubiratan
Slide atividade do livro didático
CURSO IRPF 1 PARTE
Valoración de la geología en las unidades territoriales del medio físico para...
Presentació carles&pere v.2
Mantenimiento
Des fois, ça va pas comme on voudrait
Ad

Similar to Spring&IOC-DC (14)

PDF
Spring application framework
PDF
Spring Framework
PDF
Maltepe Üniversitesi - Spring AOP
PDF
Spring framework egitimi ders 1. genel bir bakis
PPTX
Aspect Oriented Programming (İlgiye Yönelik Programlama)
PPTX
WCF'e Giriş
PPTX
ASPNET Web API
PPTX
Object Oriented Programming BASIC DESIGN PRINCIPLES
PDF
Spring framework egitimi Ders 2. Spring temel XML konfigurasyonu kullanimi
PPT
Design Patterns
PDF
Spring framework
PDF
Işık Üniversitesi - Spring Core
PDF
Modern Frontend
PDF
Spring Data MongoDB Webiner
Spring application framework
Spring Framework
Maltepe Üniversitesi - Spring AOP
Spring framework egitimi ders 1. genel bir bakis
Aspect Oriented Programming (İlgiye Yönelik Programlama)
WCF'e Giriş
ASPNET Web API
Object Oriented Programming BASIC DESIGN PRINCIPLES
Spring framework egitimi Ders 2. Spring temel XML konfigurasyonu kullanimi
Design Patterns
Spring framework
Işık Üniversitesi - Spring Core
Modern Frontend
Spring Data MongoDB Webiner
Ad

Spring&IOC-DC

  • 1. SPRING & IOC-DC Seçil AYDIN secil.aydin@argela.com.tr
  • 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 ?
  • 3. • http://www.springsource.org/download adresinden spring çatısı indirilir. • Spring proje yapısı oluşturulur. • Hazır IDE kullanılabilir. İndirmek için: Spring Tool Suite Spring Kullanımı
  • 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
  • 6. <bean id=“library” class=“com.Library” <property name=“book”> <ref bean=“book”/> </property> </bean> XML Konf. Örneği
  • 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
  • 11. • http://www.springsource.org/spring-framework • Spring Reference Documentation • http://www.theserverside.com/news/1364527/Introductio n-to-the-Spring-Framework • http://en.wikipedia.org/wiki/Spring_Framework Kaynaklar