SpringBoot – Giriş

Merhabalar, uzun bir aradan sonra son zamanlarda çok içli dışlı olduğum bir framework’ten bahsedeceğim. SpringBoot. Evet Spring framework’u biliyoruz. Kendisi Java dünyasında defacto standartı olarak kabul edilir. Dependency Injection ve IOC bu framework’un temel taşlarıdır. Spring framework’te konfigürasyon işlemleri ilk başlarda XML üzerinden hep yürürdü. Tabi zamanla annotation bazlı konfigürasyonlarda popüler oldu. Ancak bazı durumlarda Spring agile olamama durumu, yaygınlaşan microservices olayları SpringBoot’un doğmasına neden oldu. Evet SpringBoot ile çok hızlı, fazla konfigürasyon işlerine girmeden projeler oluşturabilir. Jar ve War çıktıları alabilirsiniz. Bu yazımda Intellij Idea üzerinde bir SpringBoot projesi oluşturup ayağı kaldıracağız.

Evet Ide’mizi açtıktan sonra New Project deyip Sol taraftan Spring Initialzr’ı seçip ilerliyoruz.

new_project

Ardından gelen ekran projemizle ilgili konfigürasyonları yapıyoruz. Type olarak Maven veya Gradle, dil olarak Groovy, Java ve Kotlin, çıktı olarak Jar veya War seçebilirsiniz.

new_project2.png

Daha sonraki gelen ekranda ihtiyacımız olan bağımlılıkları projemize seçip ekleyebiliriz. Bizim uygulamamız basit bir uygulama olacağı için sadece Web bağımlılığını ekliyorum.

new_project3.png

Devam edip Finish dediğimizde aşağıdaki resimdeki gibi bir proje yapısı ve bir adet main sınıfımız geliyor.

project_folder.png

src klasörü altında java class‘larının yer aldığı java klasörü ve resources klasörü bulunmakta. pom.xml ‘den anlayabileceğimiz gibi bizim projemiz Maven tipinde. resources içinde application.properties(Konfigürasyonların yapıldığı dosya kendisi.), static(js,images,css vb.) ve templates(html dosyalarımızı koyacağımız yer). SpringBoot Thymeleaf ile oldukça uyumlu bende projelerde Thymeleaf tercih ediyorum. Siz başka bir template engine kullanacağınız gibi sadece jsp de kullanabilirsiniz.

Bu şekilde projemizi run ettiğimizde ayağı kalkacaktır. Ancak herhangi bir controller vs oluşturmadığımız için not found tarzında bir hata alırız. Öncelikle application.properties dosyamıza aşağıdaki kodları ekleyelim.

server.contextPath=/SpringGiris
server.port=8080

Gördüğünüz gibi port numarası ve context path atamasını böyle yapabilirsiniz. Sonra HomeController adında bir sınıf ekleyelim. İçeriğide aşağıdaki gibi olsun.

package com.ufuk;

import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * Created by ufuk on 8.8.2016.
 */
@Controller
public class HomeController {

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public ResponseEntity<String> displayHomePage(Model model) {

        return new ResponseEntity<>("SpringBoot Merhaba", HttpStatus.OK);
    }
}

Evet daha önceden Spring ‘ de bir controller yazdıysanız hiçbir farkı yok. http://localhost:8080/SpringGiris/ adresine isteğimizi atınca sonuç olarak aşağıdaki ekranı alıyoruz.

son.png

Evet şimdilik bu kadar. Sonraki SpringBoot yazılarında Veritabanı bağlantıları, Spring Data, SpringSecurity vs kullanarak aynı projeyi genişleteceğim. Görüşmek üzere…

Test edilmeyen kod tuhaflaşır…

 

Advertisements

One thought on “SpringBoot – Giriş

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s