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

Viewers also liked

2010 the diagnosis and management of recurrent
2010 the diagnosis and management of recurrent2010 the diagnosis and management of recurrent
2010 the diagnosis and management of recurrent
María Del Carmen Valdivia
 
Digital storytelling and place-attachment: a 'lens' through which to analyse ...
Digital storytelling and place-attachment: a 'lens' through which to analyse ...Digital storytelling and place-attachment: a 'lens' through which to analyse ...
Digital storytelling and place-attachment: a 'lens' through which to analyse ...
Antonia Liguori
 
Asociacion americana de psicologia 1
Asociacion americana de psicologia 1Asociacion americana de psicologia 1
Asociacion americana de psicologia 1
paitoaph
 
Київська "громадянська позиція". Проект нової сили
Київська "громадянська позиція". Проект нової силиКиївська "громадянська позиція". Проект нової сили
Київська "громадянська позиція". Проект нової сили
Dmitry Murin
 
WNBA 2013, primera jornada
WNBA 2013, primera jornadaWNBA 2013, primera jornada
WNBA 2013, primera jornada
baloncestofem
 
Caderno Literario Pragmatha Nº 69 maio de 2015 * Antonio Cabral Filho - RJ
Caderno Literario Pragmatha Nº 69 maio de 2015 * Antonio Cabral Filho - RJCaderno Literario Pragmatha Nº 69 maio de 2015 * Antonio Cabral Filho - RJ
Caderno Literario Pragmatha Nº 69 maio de 2015 * Antonio Cabral Filho - RJ
Antonio Cabral Filho
 
Chinese Menu Botanique
Chinese Menu BotaniqueChinese Menu Botanique
Chinese Menu Botanique
agencianuts
 
Ise la salle
Ise la salleIse la salle
Ise la salle
santarosalfaro
 
Portfólio de Marcas Frajo e Coty
Portfólio de Marcas Frajo e CotyPortfólio de Marcas Frajo e Coty
Portfólio de Marcas Frajo e Coty
TeleFrajo
 
Retrospectiva 50 anos ubiratan
Retrospectiva 50 anos ubiratanRetrospectiva 50 anos ubiratan
Retrospectiva 50 anos ubiratan
Cláudia SN
 
Slide atividade do livro didático
Slide   atividade do livro didáticoSlide   atividade do livro didático
Slide atividade do livro didático
Janaina Sousa
 
CURSO IRPF 1 PARTE
CURSO IRPF 1 PARTECURSO IRPF 1 PARTE
CURSO IRPF 1 PARTE
Oscar Lopes da Silva
 
Valoración de la geología en las unidades territoriales del medio físico para...
Valoración de la geología en las unidades territoriales del medio físico para...Valoración de la geología en las unidades territoriales del medio físico para...
Valoración de la geología en las unidades territoriales del medio físico para...
Sector Energía y Minas - INGEMMET
 
Presentació carles&pere v.2
Presentació carles&pere v.2Presentació carles&pere v.2
Presentació carles&pere v.2carlesbalaguer
 
Mantenimiento
MantenimientoMantenimiento
Mantenimiento
Avelino Santiago
 
Des fois, ça va pas comme on voudrait
Des fois, ça va pas comme on voudraitDes fois, ça va pas comme on voudrait
Des fois, ça va pas comme on voudraitKenZobi
 

Viewers also liked (19)

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

Similar to Spring&IOC-DC

Web uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirmeWeb uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirme
BTRisk Bilgi Güvenliği ve BT Yönetişim Hizmetleri
 
Yazılım Geliştiriciler İçin Sharepoint 2010
Yazılım Geliştiriciler İçin Sharepoint 2010Yazılım Geliştiriciler İçin Sharepoint 2010
Yazılım Geliştiriciler İçin Sharepoint 2010
Evren Ayan
 
ESOGU The Code Day Workshop
ESOGU The Code Day WorkshopESOGU The Code Day Workshop
ESOGU The Code Day Workshop
Burak TUNGUT
 
React.js Web Programlama
React.js Web ProgramlamaReact.js Web Programlama
React.js Web Programlama
Cihan Özhan
 
Erdem Avni SELÇUK 22 Nisan 2015 Çözümpark & Gediz Üniversitesi İzmir MVC Work...
Erdem Avni SELÇUK 22 Nisan 2015 Çözümpark & Gediz Üniversitesi İzmir MVC Work...Erdem Avni SELÇUK 22 Nisan 2015 Çözümpark & Gediz Üniversitesi İzmir MVC Work...
Erdem Avni SELÇUK 22 Nisan 2015 Çözümpark & Gediz Üniversitesi İzmir MVC Work...
Erdem Avni Selçuk
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
Muharrem Tac
 
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır? Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Mustafa AKIN
 
Node.js
Node.jsNode.js
Node.js
Alpcan Aydın
 
Spring application framework
Spring application frameworkSpring application framework
Spring application framework
Kenan Sevindik
 
Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup
Mustafa AKIN
 
vSphere Integrated Containers
vSphere Integrated ContainersvSphere Integrated Containers
vSphere Integrated Containers
Vahric Muhtaryan
 
Web Guvenligi Konferansi - Web Hacking Yontemleri
Web Guvenligi Konferansi - Web Hacking YontemleriWeb Guvenligi Konferansi - Web Hacking Yontemleri
Web Guvenligi Konferansi - Web Hacking Yontemleri
EPICROUTERS
 
12factor apps
12factor apps12factor apps
12factor apps
Dilaver Demirel
 
ASP.NET MVC V 2.0
ASP.NET MVC  V  2.0ASP.NET MVC  V  2.0
ASP.NET MVC V 2.0
BT Akademi
 
45965 php-source-code-analysis
45965 php-source-code-analysis45965 php-source-code-analysis
45965 php-source-code-analysis
Attaporn Ninsuwan
 
Symfony 3
Symfony 3Symfony 3
Symfony 3
Emre YILMAZ
 
C++ projeleri
C++ projeleriC++ projeleri
C++ projelerisersld30
 
C++ dokumani
C++ dokumaniC++ dokumani
C++ dokumanisersld29
 

Similar to Spring&IOC-DC (20)

Web uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirmeWeb uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirme
 
Yazılım Geliştiriciler İçin Sharepoint 2010
Yazılım Geliştiriciler İçin Sharepoint 2010Yazılım Geliştiriciler İçin Sharepoint 2010
Yazılım Geliştiriciler İçin Sharepoint 2010
 
ESOGU The Code Day Workshop
ESOGU The Code Day WorkshopESOGU The Code Day Workshop
ESOGU The Code Day Workshop
 
React.js Web Programlama
React.js Web ProgramlamaReact.js Web Programlama
React.js Web Programlama
 
Erdem Avni SELÇUK 22 Nisan 2015 Çözümpark & Gediz Üniversitesi İzmir MVC Work...
Erdem Avni SELÇUK 22 Nisan 2015 Çözümpark & Gediz Üniversitesi İzmir MVC Work...Erdem Avni SELÇUK 22 Nisan 2015 Çözümpark & Gediz Üniversitesi İzmir MVC Work...
Erdem Avni SELÇUK 22 Nisan 2015 Çözümpark & Gediz Üniversitesi İzmir MVC Work...
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır? Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
 
Node.js
Node.jsNode.js
Node.js
 
Spring application framework
Spring application frameworkSpring application framework
Spring application framework
 
Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup
 
vSphere Integrated Containers
vSphere Integrated ContainersvSphere Integrated Containers
vSphere Integrated Containers
 
Web Guvenligi Konferansi - Web Hacking Yontemleri
Web Guvenligi Konferansi - Web Hacking YontemleriWeb Guvenligi Konferansi - Web Hacking Yontemleri
Web Guvenligi Konferansi - Web Hacking Yontemleri
 
12factor apps
12factor apps12factor apps
12factor apps
 
C++ indir
C++ indirC++ indir
C++ indir
 
ASP.NET MVC V 2.0
ASP.NET MVC  V  2.0ASP.NET MVC  V  2.0
ASP.NET MVC V 2.0
 
45965 php-source-code-analysis
45965 php-source-code-analysis45965 php-source-code-analysis
45965 php-source-code-analysis
 
Symfony 3
Symfony 3Symfony 3
Symfony 3
 
C++ projeleri
C++ projeleriC++ projeleri
C++ projeleri
 
C++ proje
C++ projeC++ proje
C++ proje
 
C++ dokumani
C++ dokumaniC++ dokumani
C++ dokumani
 

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