Spring Boot Nedir?

Spring Framework

Resmi proje sayfasındaki tanıma göre Spring Boot bağımsız(stand-alone) Spring tabanlı uygulamalar geliştirmenizi kolaylaştırmaya yarar. Spring Boot‘u bu kadar popüler yapan şey ise otomatik konfigürasyon özelliği. Çok az Spring konfigürasyonu ile çoğu Spring Boot projesini hayata geçirebilirsiniz.

Spring Boot’un bazı temel özellikleri

  • Bağımsız(stand-alone) Spring uygulamaları oluşturabilmek.
  • Gömülü bir web sunucusu(Tomcat, Jetty, Undertow) ile gelmesi.
  • Build konfigürasyonunu kolaylaştırmak için sağladığı starter’lar.
  • Otomatik konfigürasyon.
  • Kod üretimi(code generation) ve XML konfigürasyona ihtiyaç duymaması.

Yukarıda kısaca Spring Boot‘dan bahsettik. Şimdi olabildiğince basit bir örnek yapalım.

Öncelikle start.spring.io adresine gidelim.

start.spring.io Pivotal’ın(Spting Framework’ü geliştiren firma) developerlara sağlamış olduğu istediğimiz bağımlılıkları seçip bir Spring Boot projesi oluşturabileceğimiz online bir araç.

Sağ tarafta bulunan Dependencies kısmına Web yazarak ilgili bağımlılığımızı seçip diğer her şeyi olduğu gibi bırakalım ve Generate Project butonuna tıklayalım. Spring İınitializr bizim için bir zip dosyası üretip indirecek.

Spring Initializr

Spring Initializr’ın bizim için ürettiği zip dosyasını çıkartın ve favori IDE’niz ile açın. Ben IDE olarak Intellij kullanıyorum. Projemiz klasik maven proje klasör yapısıyla ve DemoApplication.java sınıfıyla geliyor.

Spring Boot in Intellij

Uygulamayı bu haliyle çıkartıp tarayıcımızdan localhost:8080 adresine gidersek aşağıdaki sayfa ile karlılaşırız.

Sprint Boot Whitelabel Error

Her ne kadar bir hata sayfası görüyor olsak da aslında uygulamamız sorunsuz bir şekilde çalışıyor. Bu hatayı alıyor olmamızın sebebi uygulamanın ana dizinini karşılayacak – ki bu durumda localhost:8080 adresi oluyor- bir controller metodu yazmamış olmamız.

Hemen basit bir controller yazalım. Aşağıdaki gibi HomeController.java isminde bir dosya oluşturalım ve uygulamayı yeniden başlatalım.

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HomeController {

    @RequestMapping(value = "/", method = RequestMethod.GET)
    @ResponseBody
    public String home(){
        return "Merhaba Spring Boot";
    }
}

Proje başladığında localhost:8080 adresine gidelim ve mutlu son 🙂

Spring Boot Web Application Example

Kod içerisinde geçen @SpringBootApplication, @Controller, @RequestMapping, @ResponeBody gibi anotasyonların ve yukarıda bahsettiğim Spting Boot‘un bize sağladığı starterların detaylarına sonraki yazılarımda değineceğim.

Bir sonraki yazımda görüşmek üzere.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir