Spring Boot Nedir?
Spring Boot, Spring Framework’ün bir uzantısıdır ve Java tabanlı uygulama geliştirmeyi daha hızlı ve kolay hale getiren bir araçtır. Spring Boot, karmaşık yapılandırmaları ortadan kaldırır, uygulama başlatma sürecini hızlandırır ve geliştiricilerin daha verimli çalışmasını sağlar. Yani, uygulamanızın ihtiyacı olan tüm yapılandırmaları yapmadan sadece geliştirmeye odaklanabilirsiniz. Peki, Spring Boot kullanmaya başlamak için ne yapmamız gerekiyor?
Spring Boot Kurulumu
Spring Boot’u kullanmaya başlamak için önce birkaç adımı takip etmemiz gerekiyor. Şimdi, birlikte bu adımları geçelim:
1. Java’nın Yüklü Olduğundan Emin Olun
Spring Boot, Java ile çalıştığı için, bilgisayarınızda Java'nın yüklü olması gerekir. Eğer Java’yı yüklemediyseniz, [Java'nın resmi web sitesinden](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html) Java’yı indirip kurabilirsiniz.
2. Spring Initializr Kullanarak Proje Oluşturun
Projenize başlamak için en kolay yol, Spring Initializr’ı kullanmaktır. Spring Initializr, proje yapılandırmanızı kolayca yapmanıza yardımcı olur. Şimdi, adım adım nasıl proje oluşturacağınızı görelim.
- İlk olarak, [Spring Initializr](https://start.spring.io/) sitesine gidin.
- Burada birkaç seçenek görmelisiniz. Proje türünü "Maven Project" ya da "Gradle Project" olarak seçebilirsiniz. Bu yazıda Maven tercih edeceğiz.
- Java versiyonunu seçin, genellikle en son sürüm önerilir.
- Group ve Artifact değerlerini girin. Group genellikle şirket adınızı ya da projenizin adını temsil eder. Artifact ise uygulamanızın adıdır.
- Dependencies kısmında, uygulamanızda kullanmak istediğiniz Spring Boot bağımlılıklarını seçebilirsiniz. Web uygulamaları geliştirecekseniz, "Spring Web" seçmeniz yeterli olacaktır.
Tüm bu bilgileri girdikten sonra "Generate" butonuna tıklayın. Bu işlem, temel bir Spring Boot projesi oluşturacaktır. İndirilen ZIP dosyasını açarak, projeyi IDE'nizde (IntelliJ IDEA, Eclipse vb.) açabilirsiniz.
3. Spring Boot Uygulamanızı Çalıştırma
Projeyi açtığınızda, projenin ana sınıfı (main class) içinde şu şekilde bir yapı göreceksiniz:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
Burada, `@SpringBootApplication` notasyonu Spring Boot uygulamanızın başlatıcı sınıfını işaret eder. `SpringApplication.run()` metodu da uygulamanın çalışmasını başlatır.
Projeyi çalıştırmak için, IDE'nizden ya da terminal üzerinden şu komutu kullanabilirsiniz:
mvn spring-boot:run
Eğer her şey doğru şekilde kurulmuşsa, terminalde şu şekilde bir çıktı alırsınız:
```
Tomcat started on port(s): 8080 (http) with context path ''
Started DemoApplication in 3.456 seconds (JVM running for 4.789)
```
Bu, Spring Boot uygulamanızın başarıyla başladığını gösterir! Artık, tarayıcınızı açarak `http://localhost:8080` adresine gidip uygulamanızın çalışıp çalışmadığını kontrol edebilirsiniz.
Spring Boot ile Basit Bir REST API Oluşturma
Şimdi, basit bir REST API yapalım. Spring Boot, RESTful servisler geliştirmek için çok uygun bir yapıdır. Hadi, size bir "Merhaba Dünya" API'si oluşturmayı göstereyim.
Projenize bir REST controller eklemek için yeni bir sınıf oluşturun. Örneğin:
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api")
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Merhaba, Spring Boot!";
}
}
Burada, `@RestController` notasyonu bu sınıfın bir REST controller olduğunu belirtir. `@GetMapping` ile `/hello` URL'ine gelen GET isteklerine cevap veriyoruz. Şimdi, uygulamanızı tekrar başlatın ve tarayıcıya şu adresi yazın: `http://localhost:8080/api/hello`. Eğer her şey yolundaysa, ekranda "Merhaba, Spring Boot!" mesajını göreceksiniz.
Spring Boot ile Veritabanı Entegrasyonu
Spring Boot, veritabanı işlemleri için oldukça güçlü araçlar sunar. Spring Data JPA, veritabanı işlemlerini kolaylaştıran bir kütüphanedir. Hadi, basit bir veritabanı entegrasyonu yapalım.
Öncelikle, `pom.xml` dosyasına şu bağımlılığı ekleyin:
org.springframework.boot
spring-boot-starter-data-jpa
com.h2database
h2
runtime
Burada, H2 veritabanını kullanacağız. H2, hafif ve kolayca entegre edilebilen bir veritabanıdır.
Daha sonra, bir entity sınıfı oluşturun:
package com.example.demo;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Person {
@Id
private Long id;
private String name;
// Getter ve Setter metodları
}
Bu sınıf, veritabanında bir tabloyu temsil eder. Ardından, `PersonRepository` adlı bir repository sınıfı oluşturun:
package com.example.demo;
import org.springframework.data.jpa.repository.JpaRepository;
public interface PersonRepository extends JpaRepository {
}
Son olarak, veritabanı işlemlerini yapmak için bir service sınıfı ekleyebilirsiniz.
4. Spring Boot ile Güvenlik
Spring Boot, güvenlik konusunda da oldukça güçlüdür. Spring Security modülü, kullanıcı doğrulama ve yetkilendirme işlemlerini kolaylaştırır. Güvenlik eklemek için, Spring Security'yi projenize dahil edebilir ve ardından çeşitli kimlik doğrulama yöntemleri kullanabilirsiniz.
Sonuç
Spring Boot ile başlamak, Java geliştiricileri için harika bir deneyim olabilir. Kurulumdan basit API’lere ve veritabanı entegrasyonlarına kadar her şey oldukça hızlı ve kolay bir şekilde yapılabiliyor. Bu yazıda öğrendiğiniz temel bilgilerle, artık kendi Spring Boot uygulamanızı oluşturabilir ve geliştirmeye devam edebilirsiniz.