Spring Boot Initializr Kullanımı ve Proje Kurulum Rehberi
Spring Boot Initializr ve Spring Initializr (start.spring.io), yeni bir Spring Boot projesi oluşturmanın en hızlı ve resmi yoludur. Bu rehberde 2026 itibarıyla doğru ayarları (Java 21, Spring Boot 3.x), sağlam bir backend çekirdeği (kimlik doğrulama, veritabanı yapısı) kurmak için hangi dependency’leri seçmeniz gerektiğini ve indirdiğiniz projede ilk REST endpoint’inizi nasıl yazacağınızı adım adım anlatıyoruz.
Sadece Spring Initializr kullanımını değil; projenin iç yapısını, doğru dependency seçimini ve ilk çalışan endpoint’i yazmayı da öğreneceksiniz.
Project seç → Dependency ekle → Generate → IDE’de aç → İlk endpoint yaz → Çalıştır
Spring Boot Initializr Nedir?
Spring Initializr, Spring ekibi tarafından geliştirilen resmi proje başlatma aracıdır. start.spring.io adresinden ücretsiz kullanılır.
Sizin yerinize şunları yapar:
- Maven veya Gradle yapılandırmasını otomatik oluşturur
- Seçtiğiniz dependency’leri
pom.xml’e ekler - Standart Spring Boot klasör yapısını hazırlar
- Ana uygulama sınıfını (
@SpringBootApplication) yazar
Yani sıfırdan yapmanız gereken onlarca adımı otomatikleştirir ve sizi asıl işe — kod yazmaya — odaklanmanızı sağlar.
Adım Adım Kullanım
start.spring.io’yu açın ve aşağıdaki seçimleri yapın:
1. Proje tipi ve dil
- Project: Maven — yeni başlayanlar için daha yaygın, daha fazla kaynak bulunur
- Language: Java
- Spring Boot: 3.x (en güncel stabil sürüm) — Spring Boot 2.x artık desteklenmiyor
2. Proje metadata
- Group:
com.sirketadi— paket adınız, genellikle domain adınızın tersi - Artifact:
projeadi— oluşturulacak jar dosyasının adı - Java: 21 — LTS sürümü, 2026 itibarıyla önerilen
- Packaging: Jar — web uygulaması için standart
3. Dependency ekleyin
Dependency seçimi projeye göre değişir. Bir sonraki bölümde hangi kombinasyonu seçmeniz gerektiğini açıklıyoruz.
4. Generate ve açın
"Generate" butonuna basın, zip dosyasını indirin ve açın. IntelliJ IDEA’da
File → Open ile klasörü açın, pom.xml’i proje dosyası olarak tanıtın.
Maven bağımlılıkları ilk açılışta otomatik indirilir — birkaç dakika sürebilir.
Hangi Dependency’leri Seçmeli?
Fazla dependency eklemeyin — gereksiz bağımlılıklar başlangıç süresini uzatır ve projeyi karmaşıklaştırır.
Sonradan pom.xml’e her zaman eklenebilir.
Basit REST API için
- Spring Web
- Lombok
Veritabanı bağlantısı eklenecekse
- Spring Web
- Spring Data JPA
- PostgreSQL Driver veya MySQL Driver
- Lombok
Performans İzleme ve Log Yönetimi İçin (DevOps)
- Spring Boot Actuator
- Prometheus
Bu bağımlılıkları ekleyerek uygulamanızın sağlık metriklerini dışarı açabilir; uygulamanız Nginx arkasında çalışırken, sunucu loglarını ve performans verilerini kendi hazırlayacağınız bir Grafana dashboard üzerinden kolayca monitör edebilirsiniz.
Güvenlik de eklenecekse
- Spring Web
- Spring Data JPA
- Spring Security
- PostgreSQL Driver
- Lombok
Spring Initializr’da Sık Yapılan Hatalar
- Java 8 veya 11 seçmek: Spring Boot 3.x minimum Java 17 ister. 2026’da Java 21 LTS tercih edilmelidir.
- Gereksiz dependency eklemek: Başlangıçta sadece ihtiyacınız olanları seçin. Sonradan eklemek çok kolaydır.
- Spring Security’yi en başta eklemek: Tüm endpoint’ler korunur ve login ekranı çıkar. Önce basit bir API ayağa kaldırın.
-
Group ve Artifact’ı rastgele yazmak: Paket yapınızı ileride değiştirmek zahmetlidir.
Domain tersi mantığıyla düşünün (
com.sirketadi). - Gradle’ı yeni başlayanların seçmesi: Maven daha fazla Türkçe kaynak ve hata çözümüne sahiptir.
Proje Yapısı Ne Anlama Geliyor?
Projeyi açtığınızda aşağıdaki klasör yapısını göreceksiniz:
src/
├── main/
│ ├── java/
│ │ └── com/sirketadi/projeadi/
│ │ └── ProjeadiApplication.java ← Uygulamanın başladığı yer
│ └── resources/
│ ├── application.properties ← Konfigürasyon dosyası
│ └── static/ ← Statik dosyalar (CSS, JS)
└── test/
└── java/ ← Test sınıfları buraya
pom.xml ← Dependency yönetimi
ProjeadiApplication.java içinde sadece şu kod bulunur:
@SpringBootApplication
public class ProjeadiApplication {
public static void main(String[] args) {
SpringApplication.run(ProjeadiApplication.class, args);
}
}
Bu sınıfı çalıştırın — uygulama localhost:8080’de ayağa kalkar.
İlk REST Endpoint’inizi Yazın
Projeyi oluşturdunuz, şimdi ne yapacaksınız? Hemen çalışan bir endpoint yazalım.
src/main/java/com/sirketadi/projeadi/ altına yeni bir sınıf ekleyin:
@RestController
@RequestMapping("/api")
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Merhaba, Spring Boot çalışıyor!";
}
}
Uygulamayı çalıştırın ve tarayıcıdan http://localhost:8080/api/hello adresine gidin.
"Merhaba, Spring Boot çalışıyor!" yazısını görmelisiniz.
application.properties Temel Ayarları
Veritabanı bağlantısı ekleyecekseniz src/main/resources/application.properties dosyasına şunları yazın:
# Sunucu portu (varsayılan 8080)
server.port=8080
# PostgreSQL bağlantısı
spring.datasource.url=jdbc:postgresql://localhost:5432/veritabaniadi
spring.datasource.username=kullanici
spring.datasource.password=sifre
# JPA ayarları
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
ddl-auto=update geliştirme ortamı için uygundur.
Production ortamında validate veya none kullanın, aksi halde tablo yapısı otomatik değişebilir.
IntelliJ IDEA İçinden Kullanım
start.spring.io’ya gitmeden IntelliJ IDEA içinden de proje oluşturabilirsiniz:
- File → New Project
- Sol menüden "Spring Boot" seçin
- Group, Artifact ve Java sürümünü doldurun
- Dependency’leri ekleyin
- "Create" — proje hazır
Sonuç Spring Boot Initializr ile birebir aynıdır, sadece tarayıcıya geçme adımını atlamış olursunuz.
Sık Sorulan Sorular
Spring Initializr ücretsiz mi?
Evet, tamamen ücretsizdir. start.spring.io Spring ekibi tarafından açık kaynak olarak geliştirilmektedir.
Maven mi Gradle mi seçmeliyim?
Yeni başlayanlar için Maven önerilir — daha fazla Türkçe ve İngilizce kaynak bulunur, hata ayıklamak daha kolaydır. Deneyimliyseniz Gradle daha hızlı build süreleri sunar.
Hangi Java sürümünü kullanmalıyım?
2026 itibarıyla Java 21 LTS önerilir. Java 17 de desteklenmektedir. Spring Boot 3.x, Java 8 ve Java 11 ile çalışmaz — minimum Java 17 gereklidir.
Dependency’yi sonradan ekleyebilir miyim?
Evet. pom.xml dosyasına istediğiniz zaman dependency ekleyebilirsiniz.
Spring Initializr sadece başlangıç kolaylığı sağlar, projeyi kilitlemez.
spring init CLI komutu ne işe yarar?
Spring Boot CLI yüklüyse terminal üzerinden proje oluşturabilirsiniz:
spring init --dependencies=web,jpa,security --java-version=21 myapp
Aynı projeyi start.spring.io’dan zip indirmek yerine doğrudan klasör olarak oluşturur.
start.spring.io açılmıyor, ne yapmalıyım?
IntelliJ IDEA’nın kendi Spring Boot Initializr entegrasyonunu kullanabilirsiniz (File → New Project → Spring Boot). İnternet bağlantısı olmadan da çalışır.
Sonuç
Spring Boot Initializr, Spring Boot projelerine hızlı ve doğru başlangıç yapmanın en güvenilir yoludur. Önemli olan sadece projeyi oluşturmak değil — klasör yapısını anlamak, doğru dependency’leri seçmek ve ilk endpoint’i çalıştırmaktır.
Projenizi oluşturduktan sonraki adım için Spring Boot ile RESTful Web Servisi Geliştirme yazımıza göz atabilirsiniz.