SlideShare a Scribd company logo
1 of 40
KORAY PEKER
Senior Software Developer @ KoçSistem
koray-peker
www.koraypeker.com
Koray.peker@kocsistem.com.tr
İçerik
 Spring nedir ? Neden kullanılır ?
 SpringBoot tarihçesi
 SpringBoot nedir ? Neden ihtiyaç duyarız ?
 SpringBoot’un getirdikleri ?
 SpringBoot Starters
 SpringBoot ile 5 dakika
Beans.xml
Beans.xml
MainApp.java
Ekim 2012‘ de,
Mike Youngstrom, web uygulama mimarilerine destek için jira üzerinden
bir talep oluşturdu.
Ekim 2012‘ de,
Mike Youngstrom, web uygulama mimarilerine destek için jira üzerinden
bir talep oluşturdu.
I think that Spring’s web application architecture can be significantly simplified
if it were to provided tools and a reference architecture that leveraged the Spring
component and configuration model from top to bottom. Embedding and unifying the
configuration of those common web container services within a Spring Container
bootstrapped from a simple main() method.
https://spring.io/team
Spring Boot, konfigürasyon, bağımlılık yönetimi
ve geliştirme kolaylığı açısından önemli ağrı
noktalarını ortadan kaldırarak Spring ile Java
geliştirmeyi basitleştirmeyi amaçlamaktadır.
Spring Boot, Spring çerçevesinin üstüne inşa
edilmiş bir projedir.
Otomatik
Konfigürasyon
Otomatik yapılandırmayı kurmak son derece zahmetsizdir.
https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
Gömülü
Sunucu
Java Tabanlı Bir Web Uygulaması
Başlatma Süreci
Spring
Initializer
Spring
Actuator
Spring Boot Actuator, uygulamaların production ortamına hazır özellikleri (health check,
disk usage, heap dump vs.) otomatik aktifleştirir ve farklı HTTP endpoint’ ler ile
etkileşimde bulunmayı sağlayan bir yapı sunar.
https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html
Starters
Dependency
Spring Boot Starters
 The Web Starter
Spring Boot Starters
 The Test Starter
Sonuç olarak
 Maven yapılandırmasını kolaylaştırmak için başlangıç POM’larını sağlar.
Sonuç olarak
 Maven yapılandırmasını kolaylaştırmak için başlangıç POM’larını sağlar.
 Spring bağımlılıklarını kolaylaştırır, versiyon çakışmalarını önler.
Sonuç olarak
 Maven yapılandırmasını kolaylaştırmak için başlangıç POM’larını sağlar.
 Spring bağımlılıklarını kolaylaştırır, versiyon çakışmalarını önler.
 Bir uygulama komut satırından direkt olarak çalıştırılabilir.
Sonuç olarak
 Maven yapılandırmasını kolaylaştırmak için başlangıç POM’larını sağlar.
 Spring bağımlılıklarını kolaylaştırır, versiyon çakışmalarını önler.
 Bir uygulama komut satırından direkt olarak çalıştırılabilir.
 boilerplate yani basmakalıp kodlardan sıyrılıp sadece ihtiyacımız olan
kodları yazmamızı sağlar.
Sonuç olarak
 Maven yapılandırmasını kolaylaştırmak için başlangıç POM’larını sağlar.
 Spring bağımlılıklarını kolaylaştırır, versiyon çakışmalarını önler.
 Bir uygulama komut satırından direkt olarak çalıştırılabilir.
 boilerplate yani basmakalıp kodlardan sıyrılıp sadece ihtiyacımız olan
kodları yazmamızı sağlar.
 Üretime hazır özellikleri sağlar.
Spring boot
Spring boot
Spring boot

More Related Content

Similar to Spring boot

Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleriVisual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleriMurat Başeren
 
Bilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
Bilgisayar Mühendisleri Odası - PrimeFaces Framework SemineriBilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
Bilgisayar Mühendisleri Odası - PrimeFaces Framework SemineriMimar Aslan
 
ASP.Net MVC 4 ile Web Uygulaması Geliştirmek
ASP.Net MVC 4 ile Web Uygulaması GeliştirmekASP.Net MVC 4 ile Web Uygulaması Geliştirmek
ASP.Net MVC 4 ile Web Uygulaması Geliştirmekİbrahim ATAY
 
JVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDEJVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDEHalil İbrahim ÇELENLİ
 
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 2010Evren Ayan
 
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş SüreciASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş SüreciSinan Bozkuş
 
Neden Backbone.js'ten AngularJS'e Geçtik?
Neden Backbone.js'ten AngularJS'e Geçtik?Neden Backbone.js'ten AngularJS'e Geçtik?
Neden Backbone.js'ten AngularJS'e Geçtik?Omer Buyukoglu
 
Dogus University-Web Application Security
Dogus University-Web Application SecurityDogus University-Web Application Security
Dogus University-Web Application Securitymtimur
 
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
 
ASP.NET MVC'den ASP.NET Core'a Geçiş
ASP.NET MVC'den ASP.NET Core'a GeçişASP.NET MVC'den ASP.NET Core'a Geçiş
ASP.NET MVC'den ASP.NET Core'a GeçişSinan Bozkuş
 
Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1Mehmet Ince
 
Internet programcılığı-i
Internet programcılığı-iInternet programcılığı-i
Internet programcılığı-iemre61
 
Spring Web Service
Spring Web ServiceSpring Web Service
Spring Web Servicedasgin
 
Web İçin Teknoloji Geliştirmek
Web İçin Teknoloji GeliştirmekWeb İçin Teknoloji Geliştirmek
Web İçin Teknoloji GeliştirmekVolkan Özçelik
 
ASP.Net MVC ile Web Uygulamaları -14(Spark ViewEngine)
ASP.Net MVC ile Web Uygulamaları -14(Spark ViewEngine)ASP.Net MVC ile Web Uygulamaları -14(Spark ViewEngine)
ASP.Net MVC ile Web Uygulamaları -14(Spark ViewEngine)İbrahim ATAY
 
Mobile First Indexing
Mobile First Indexing Mobile First Indexing
Mobile First Indexing ceydaaricioglu
 
Wordpress kurulum rehberi
Wordpress kurulum rehberiWordpress kurulum rehberi
Wordpress kurulum rehberiEra Brown
 

Similar to Spring boot (20)

Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleriVisual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
 
Bilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
Bilgisayar Mühendisleri Odası - PrimeFaces Framework SemineriBilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
Bilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
 
Spring&IOC-DC
Spring&IOC-DCSpring&IOC-DC
Spring&IOC-DC
 
ASP.Net MVC 4 ile Web Uygulaması Geliştirmek
ASP.Net MVC 4 ile Web Uygulaması GeliştirmekASP.Net MVC 4 ile Web Uygulaması Geliştirmek
ASP.Net MVC 4 ile Web Uygulaması Geliştirmek
 
JVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDEJVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDE
 
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
 
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş SüreciASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
 
Neden Backbone.js'ten AngularJS'e Geçtik?
Neden Backbone.js'ten AngularJS'e Geçtik?Neden Backbone.js'ten AngularJS'e Geçtik?
Neden Backbone.js'ten AngularJS'e Geçtik?
 
Dogus University-Web Application Security
Dogus University-Web Application SecurityDogus University-Web Application Security
Dogus University-Web Application Security
 
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...
 
ASP.NET MVC'den ASP.NET Core'a Geçiş
ASP.NET MVC'den ASP.NET Core'a GeçişASP.NET MVC'den ASP.NET Core'a Geçiş
ASP.NET MVC'den ASP.NET Core'a Geçiş
 
ASPNET Web API
ASPNET Web APIASPNET Web API
ASPNET Web API
 
Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1
 
Internet programcılığı-i
Internet programcılığı-iInternet programcılığı-i
Internet programcılığı-i
 
Spring Web Service
Spring Web ServiceSpring Web Service
Spring Web Service
 
Web İçin Teknoloji Geliştirmek
Web İçin Teknoloji GeliştirmekWeb İçin Teknoloji Geliştirmek
Web İçin Teknoloji Geliştirmek
 
Apache Maven
Apache MavenApache Maven
Apache Maven
 
ASP.Net MVC ile Web Uygulamaları -14(Spark ViewEngine)
ASP.Net MVC ile Web Uygulamaları -14(Spark ViewEngine)ASP.Net MVC ile Web Uygulamaları -14(Spark ViewEngine)
ASP.Net MVC ile Web Uygulamaları -14(Spark ViewEngine)
 
Mobile First Indexing
Mobile First Indexing Mobile First Indexing
Mobile First Indexing
 
Wordpress kurulum rehberi
Wordpress kurulum rehberiWordpress kurulum rehberi
Wordpress kurulum rehberi
 

Spring boot

Editor's Notes

  1. Bugün hangi konulara değineceğiz ?
  2. Bazıları Java EE ve Spring'in rekabette olduğunu düşünürken, Spring, aslında Java EE'yi tamamlayıcıdır. JEE spesifikasyonlarının karmaşıklığına bir cevap olarak ortaya çıkmıştır. JEE'nin kışından sonra yeni bir başlangıcı temsil ettiği için Bahar ismi vermiştir. Yani Java’nın Baharı …
  3. Spring ; işimizi kolaylaştırarak bize zaman kazandıran, application framework (uygulama geliştirme) çatısıdır. Spring çeşitli yardımcı modüller ile kurumsal projere oldukça şık çözümler sunan dev bir eko sistemdir. Spring kullanmak demek tüm modüllerini kullanmak demek değildir. Sadece Spring Core temel modülünü kullanmak zorundayız. Diğer modüllerin kullanımı isteğe bağlıdır. Eğer ihtiyacımız varsa diğer modülleri de projeye ekleyip hepsini bir arada sorunsuzca kullanabiliriz. Mesela projenizde Spring MVC yerine JSF’yi, Vaadin’i ya da GWT’yi rahatlıkla kullanabilirsiniz. Başka çatıları Spring Core ile birlikte kullanmakta herhangi bir sorun yoktur.
  4. 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.0.x (Şubat 2014) Spring Framework 4.1.x (Eylül 2014) Spring Framework 4.2.x (Temmuz 2015) Spring Framework 5.0.x (Haziran 2017)
  5. Basit bir Spring projesi oluştursaydık
  6. Mike Youngstrom der ki ; Spring'in web uygulama mimarisinin, Spring bileşenini ve yapılandırma modelini baştan sona kaldıran bir referans mimarisi sağlanırsa, büyük ölçüde basitleştirilebileceğini düşünüyorum. Şöyle ki , basit bir ana metot içerisinde ortak web container servislerin konfigürasyonlarını gömerek.
  7. Mike Youngstrom der ki ; Spring'in web uygulama mimarisinin, Spring bileşenini ve yapılandırma modelini baştan sona kaldıran bir referans mimarisi sağlanırsa, büyük ölçüde basitleştirilebileceğini düşünüyorum. Şöyle ki , basit bir ana metot içerisinde ortak web container servislerin konfigürasyonlarını gömerek.
  8. Açılan jira talebi ile , “The Spring Team“ 2013 yılının başlarında “Varsayılan Yapılandırma” sloganıyla kolları sıvıyolar ve Nisan 2014'te, SpringBoot 1.0.0 çıkıyor.
  9. Spring Boot, oluşturması kolay ve üretim kalitesinde tek başına çalışabilen, Spring tabanlı uygulamaların oluşturulmasını kolaylaştırır.
  10. SpringBoot gerçekten olması gereklidir midir ? Getirdiklerine bakalım ve karar verelim.
  11. SpringBoot’un getirdikleri
  12. Spring çerçevesinde, her şeyi kendiniz için konfigüre etmeniz gerekir. Bu nedenle, XML tanımlayıcıları gibi birçok yapılandırma dosyasına sahip olabilirsiniz. Bu, Spring Boot'un sizin için çözdüğü temel sorunlardan biri.
  13. Spring konfigürasyonunu otomatize ediyor ve sizi config dosyalarıyla uğraşmaktan kurtarıyor. Sadece, Spring Boot uygulamanıza @EnableAutoConfiguration notasyonu eklemeniz gerekir. Görüldüğü gibi çok kolay . Yani, istemiyorsanız, tüm bu özellikleri kullanmaya zorlamazsınız.
  14. SpringBoot’un getirdikleri
  15. Dürüst olmak gerekirse, o kadar basit değil.
  16. Spring Boot ile Tomcat, Jetty ve Undertow direkt gömülü olarak geliyor. Böylece bir web uygulamasını çalıştırmamızı sağlıyor. Bu da bağımsız uygulamalar geliştirme olanağı sağlıyor. Default olarak tomcat gelmektedir ama istenirse property dosyasından jetty veya undertow kullanılabilir. Tek yapıması gerekn mvn spring-boot:run
  17. SpringBoot’un getirdikleri
  18. Spring Initializer : Sizin için ilk proje yapısını oluşturabilen bir web uygulaması. Bu, başlangıç proje kurulum bölümünü basitleştirir.
  19. SpringBoot’un getirdikleri
  20. http://localhost:8080/actuator/health
  21. SpringBoot’un getirdikleri
  22. Bu özellik ortak bağımlılıkları bir araya toplar. Örneğin, Spring MVC tabanlı RESTful servislerini geliştirmek istiyorsanız, Spring MVC JAR ve Jackson JAR dosyasını sınıf yoluna dahil etmek yerine, sadece spring-boot-web-starter'ı belirtebilirsiniz ve otomatik olarak bu JAR dosyalarını indirecektir. Spring Boot, verimliliği artırmak için bu tür birçok Starters bağımlılığı ile birlikte gelir. Bağımlılık Uyumluluk sorunlarını ortadan kaldırır.
  23. Test için genellikle şu kütüphane setini kullanırız: Spring Test, JUnit, Hamcrest ve Mockito. Tüm bu kütüphaneleri manuel olarak ekleyebiliriz, ancak Spring Boot başlatıcısı bu kütüphaneleri otomatik olarak ekler
  24. SpringBoot’un sadeliği, java geliştiricileri tarafından projenin hızlı bir şekilde benimsenmesine yol açmıştır. Spring boot, java'da REST tabanlı microservis uygulamaları geliştirmek için en hızlı yollardan biridir. Ayrıca container ve hızlı prototipleme için çok uygundur.