Download - Işık Üniversitesi - Spring Core
![Page 1: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/1.jpg)
Spring Core Semineri 9 Aralık 2014
Turkey JUG Lideri Senior Java DeveloperBilgisayar Mühendisi
Mimar Aslan
Core
Turkey Java User Group
![Page 2: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/2.jpg)
• 2006, Kırgızistan Türkiye Manas Üniversitesi, Bilgisayar Mühendisliğinden mezun oldum.
• Kendimi bildim bileli kurumsal Java projelerinde yazılım geliştiricisiyim.
• Teknik yazar, eğitmen, danışman ve konuşmacıyım.
• Turkey JUG (Java User Group) ve Turkey JBUG(JBoss User Group)’ın kurucusu ve lideriyim.
• Kurumsal firmalar için yazılım danışmanlık hizmetleri vermekteyim.
• Mesleki kariyerimi yurt içi ve yurt dışında sürdürmekteyim.
Mimar Aslan kimdir?
![Page 3: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/3.jpg)
2010
2013 2014
20122011
2015
Teknik yazarlık serüvenim.
![Page 5: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/5.jpg)
• Java’da nesneler ve içerdikleri veriler uygulama çalıştığı zaman bellekte tutulurlar.
• Her nesnein kendine özel durumları ve davranışları vardır.
Java Projelerinde Nesnelerin Kullanmı
• Nesnelerin davranışlarını metotlar belirler.
Konuş
Yürü
Bak
Alkışla
ŞımarGülümse
![Page 6: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/6.jpg)
• Çalışması bittikten sonra kullanılmayan nesneleri, çöp toplayıcı otomatik olarak bellekten temizler.
• Kurumsal uygulamalarda nesnelerin tekrardan kullanımı için nesnelerin yaşam sürelerini belirlemek çok önemlidir.
Çöp Toplayıcı (Garbage Collector)
![Page 7: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/7.jpg)
Presentation Layer Gösterim Katmanı
Business Layer İşletme Katmanı
Persistence Layer Kalıcılık Katmanı JPA
SPRING
EJB
JSF
JSP
• Uygulama içindeki İşletme Katmanı bizim için çok önemlidir. Spring çatısı bu katmanda vazife alırlar.
Kurumsal Java Uygulamalarının Mimarisi
![Page 8: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/8.jpg)
Spring çatısının sahibi hangi firma yada firmalardır?
• Java topluluğu çok geniştir. İçerisinde yazılımcılar, donanımcılar, kurumlar, vakıflar ve üniversiteler yer almaktadır.
• Spring çatısı Java topluluğunun üyelerinden birisi olan Spring Source firmasına aittir.
![Page 9: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/9.jpg)
Spring ücretli midir?
• Apache lisansına sahiptir.
• Tamamen açık kaynak kodludur.
• Ücretsizdir.
![Page 10: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/10.jpg)
• 2003’te de Spring projesinin kodları açık kaynak olarak internette paylaşıldı. Ciddi manada ilk sürümü Mart 2004 yılında çıktı.
Spring çatısı nasıl ortaya çıktı?
• 1998 ve 2000 yılları arasında kurumsal projelerin daha kolay geliştirilmesi ve yönetilmesi için Sun firması tarafından çok ciddi yatırımlar yapıldı ama yine de istenilen sonuçlara ulaşılamadı.
• Spring’in mimarı Rod Johnson, kurumsal Java projelerinde edindiği tecrübeleri içeren “Expert One-on-One J2EE Design and Development” adındaki kitabını 2002 yılında yayınladı.
![Page 11: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/11.jpg)
Spring sürümleri hakkında bizi bilgilendirir misiniz?
• Spring Framework 1.0.x Mart 2004
• Spring Framework 2.0.x Ekim 2006
• Spring Framework 2.5.x Kasım 2007
• Spring Framework 3.0.x Aralık 2009
• Spring Framework 3.1.x Şubat 2011
• Spring Framework 3.2.x Aralık 2012
• Spring Framework 4.1.x Aralık 2014 (Bu seminerin verildiği zamandaki son sürümü bu idi.)
• Sürümlerin yanındaki x’ler rakamları temsil etmektedir.
![Page 12: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/12.jpg)
Spring’in modülleri hakkında biraz bilgi verir misiniz?
![Page 13: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/13.jpg)
Çekirdek Spring’in içerisinde neler vardır?
• Core içerisinde IoC Container (Kap)
• Resources (Kaynaklar)
• Validation (Doğrulama)
• Data Binding (Veri Bağlama)
• Type Conversion (Tip Dönüştürme)
• Spring Expression Language (SpEL - İfade Dili)
• AOP API'leri
• Test birimleri
![Page 14: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/14.jpg)
Spring çatısını sektörde öne çıkaran özellikler nelerdir?
• Spring, kurumsal Java uygulamalarını geliştirmeyi kolaylaştırarak zamandan kazandıran application framework (uygulama çatısı)dır.
• Spring, basit ve sadeleştirilmiş bir API sunar. Bu sayede Java teknolojilerini bir arada kolayca kullanmaya imkân verir.
![Page 15: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/15.jpg)
• Spring, kendi çatısına ait olan kodları ile uygulamadaki kodlarının mümkün olduğunca çok az temas kurmasını sağlar.
Spring çatısını sektörde öne çıkaran özellikler nelerdir?
• Spring uygulamayı tamamıyla kendi kodları ile işgal etmez.
![Page 16: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/16.jpg)
EJB (Enterprise JavaBeans)’in ortaya çıkış amacı nedir?
• EJB’lerin ilk çıktığı zamanlarda öğrenilmesi çok zor ve zahmetli olduğundan dolayı aradığı ilgi ve alakayı sektördeki yazılımcılar tarafından ne yazık ki bulamadı ve zamanla da cazibesini yitirdi.
• EJB’ler kurumsal projelerin ortak olan sorunlarına çözümler sunmak için üretildiler.
• EJB’ler transaction, uzak noktalardaki makinelerle haberleşmelerde ve verinin güvenliğinin sağlanmasında oldukça etkiliydi.
![Page 17: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/17.jpg)
Spring çatısının ortaya çıkış amacı nedir?
• Spring kurumsal projelerin hemen hemen bütün sorunlarına çok daha zarif ve pratik olarak çözümler sunmayı başardı ve bir anda sektörün de-facto standartı oluverdi.
• Spring de EJB’ye alternatif olabilmek için üretilen çatılardan sadece birisidir.
![Page 18: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/18.jpg)
EJB’in ve Spring’in iş ilanlarındaki durumu nedir?
• EJB ile Spring aynı işi yapıyorlar ama kurumsal Java iş ilanlarının birçoğunda Spring bilen kişileri ararlar.
• Zamanında firmalarda Spring ile yüzbinlerce kurumsal projeler kodlandığından dolayı Spring sektörde artık kalıcı olarak kabul görmüştür.
![Page 19: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/19.jpg)
Spring IoC Container (Kap) nedir? Ne işe yarar?
![Page 20: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/20.jpg)
IoC, DI ve Spring Container ilişkisi nedir?
• DI (Dependency Injection - Bağımlılık Enjeksiyonu) ile de oluşturulan bu nesneler kullanılacakları sınıfların içine enjekte ediliyor.
• IoC (Inversion of Control - Kontrolün Spring’e Çevrilmesi) ile Spring bean’leri yani Java nesneler oluşturuluyor.
![Page 21: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/21.jpg)
Sorular & Cevaplar
![Page 22: Işık Üniversitesi - Spring Core](https://reader030.vdocuments.net/reader030/viewer/2022012401/58a812161a28ab3d6e8b6b67/html5/thumbnails/22.jpg)
seminerine katılıp
beni sabırla dinlediğiniz için sizlere çok teşekkür ederim.
Core
Turkey Java User Group
Turkey JUG Lideri Senior Java DeveloperBilgisayar Mühendisi
Mimar Aslan