Spring Boot’a Giriş
Spring Boot Nedir? Proje Oluşturma ve Kullanımı Nasıldır ?
Spring Boot Nedir?
Spring Boot, Spring tabanlı uygulama geliştirme amacıyla geliştirilmiş bir framework’tür.
Neden Spring Boot ?
- Hızlı ve kolaydır.
- Web sunucusu olarak Tomcat ve ek olarak diğer birçok özellik içermektedir.
- Daha az veritabanı kodu yazarak asıl mantığa odaklanmaya olanak sağlar.
- Annotation’lar kullanarak mimari değişim yapılabilmektedir.
- XML kodu hazır gelmektedir. Bu sayede de xml konfigürasyonuyla uğraşmaya gerek kalmamaktadır. (Proje oluşturulduktan sonra da pom.xml üzerinde ekleme-çıkarma yapılabilmektedir.)
Spring Boot Genel Bakış

Spring Boot projesi yukarıdaki gibi bir mimariye sahiptir.
- Proje içerisinde oluşturulacak olan Controller dosyasında API için gerekli kaynaklar yer alacaktır. (API Layer)
- Service dosyasının bulunacağı kısım ise asıl iş mantığıyla ilgilenir. (Service Layer)
- src dosyasının altında resources dosyasında yer alan application.properties içerisine database bağlantısı için gerekli komutlar verilir. (Data Access Layer)
Proje Oluşturma ve Kullanımı Nasıldır ?
Spring Initializr
Spring Initializr, Spring Boot projelerini ön yükleme yapmak için kullanılabilecek bir araçtır.

Projeye uygun olarak dependency’leri seçmek önemli bir kısımdır. Tüm bilgiler girildikten ve seçildikten sonra GENERATE butonuna tıklanmalıdır. Bu proje hangi IDE üzerinde kullanılacaksa oraya aktarılmalıdır.

Proje oluşturduktan sonra ilk haliyle çalıştırmak aşağıdaki gibi bir hata mesajı almaya sebep olmaktadır. Bunun sebebi bir controller metodu yazmamış olmaktır.

Çözüm;
pom.xml dosyasında bulunan spring-boot-starter-data-jpa dependency yorum satırına alınmalı.
application.properties dosyasına database bağlantısı yaparken bu dependency dahil edilecektir.

En basit haliyle “Hello World” yazdırmak istersek;
src dosyasının altında yer alan Demo Application.js (Bu dosya Spring Initializr’da proje oluştururken verilen isme göre değişiklik gösterir) dosyasına 2 annotation kullanarak (@RestController ve @GetMapping) düzenlenen uygulama çalıştırılabilir hale gelmiş olacaktır.
@RestController,
Spring uygulamasında Rest-ful denetleyicisi oluşturmak için açıklamanın nasıl kullanılacağını gösterir. Aşağıda görüldüğü gibi datanın kendisini JSON veya XML formatı ile direkt olarak sunabilmektedir.

@GetMapping,
HTTP GET isteklerini belirli işleyici yöntemleriyle eşlemektedir.
Console’da görüldüğü gibi Tomcat 8080 port’u üzerinde çalışır durumdadır.
