Spring Initializr ile Proje Oluşturma ve İnceleme

Sercan Ozbek
3 min readJul 19, 2024

Herkese merhaba,

Bu yazımda sizlere yeni bir Java Spring Boot projesi oluştururken bizlere kolaylık sağlayan “Spring Initializr” ve Spring Boot genel klasör ve dosya yapısından bahsedeceğim.

Spring Initializr

Spring Initializr

1-Project Type

Projenizi oluştururken Maven veya Gradle yapısından birini seçerek projeyi oluşturabilirsiniz.

2-Language

Projenizde kullanacağınız programlama dilini Java, Kotlin veya Groovy olarak seçebilirsiniz.

3-Spring Boot Version

Spring Boot’un hangi sürümünü kullanmak istediğinizi seçebilirsiniz.

4 Project Metadata (Proje Meta Verisi)

  • Group: Maven veya Gradle projesinde grubunuzu belirtir. Genellikle tersine çevrilmiş alan adı biçiminde yazılır (örneğin, com.example).
  • Artifact: Projenizin adını belirtir. Bu, projenin ana JAR veya WAR dosyasının adıdır.
  • Name: Projenizin adını belirtir. Genellikle artifact ile aynıdır.
  • Description: Projeniz için kısa bir açıklama ekleyebilirsiniz.
  • Package Name: Java paket adınızı belirtir. Varsayılan olarak group ve artifact birleşimidir.
  • Packaging: Projenizin paketleme türünü seçebilirsiniz. Seçenekler:
  • Jar: Çoğu Spring Boot projesi için varsayılan seçimdir.
  • War: Bir web sunucusunda dağıtılacak web uygulamaları için kullanılır.
  • Java Version: Projenizin kullanacağı Java sürümünü seçebilirsiniz.

5. Dependencies (Bağımlılıklar)

  • Dependencies: Projenizde kullanmak istediğiniz bağımlılıkları ekleyebilirsiniz. Spring Initializr, yaygın olarak kullanılan bağımlılıkları kategorilere ayırır. Örneğin:
  • Core: Spring Boot DevTools, Lombok
  • Web: Spring Web, Spring WebFlux
  • Template Engines: Thymeleaf, FreeMarker
  • SQL: Spring Data JPA, JDBC API,H2 Database
  • NoSQL: Spring Data MongoDB, Spring Data Redis
  • Security: Spring Security
  • Cloud: Spring Cloud Config, Spring Cloud Netflix
  • Ops: Spring Boot Actuator
  • Test: Spring Boot Starter Test, Mockito

Spring Initializr kullanarak Maven projesi oluşturduktan sonra, şimdi bu projenin klasör ve dosya yapısını açıklayacağım.

Maven Projesi

Maven Projesi Dosya Yapısı
my-project/

├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── example/
│ │ │ └── demo/
│ │ │ └── DemoApplication.java
│ │ ├── resources/
│ │ ├── application.properties
│ │ └── static/
│ │ └── templates/
│ └── test/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ └── demo/
│ │ └── DemoApplicationTests.java
│ └── resources/

├── .gitignore
├── HELP.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── README.md

1. src/ Klasörü

Bu klasör, projenizin kaynak kodlarını ve test kodlarını içerir.

a. src/main/

Bu klasör, uygulamanızın ana kaynak kodlarını içerir.

- src/main/java/: Java kaynak dosyalarınızı içerir. Spring Initializr, grup ve artefakt adlarına göre bir paket yapısı oluşturur. Örneğimizde “com.example.demo” paket yapısında yer alan “DemoApplication.java” dosyası bulunur.

- DemoApplication.java: Spring Boot uygulama sınıfıdır ve genellikle “@SpringBootApplication” anotasyonu ile işaretlenmiştir. Bu sınıf, uygulamanızın başlangıç noktasını temsil eder.

- src/main/resources/: Uygulamanızın kaynak dosyalarını içerir. Bu dosyalar genellikle yapılandırma dosyaları, şablonlar ve statik dosyalardır.

- application.properties: Uygulamanızın yapılandırma ayarlarını içerir.
— static/: Statik web kaynaklarını (CSS, JavaScript, görüntüler vb.) içerir.
— templates/: Thymeleaf veya diğer şablon motorları için şablon dosyalarını içerir.

b. src/test/

Bu klasör, uygulamanızın test kodlarını içerir.

- src/test/java/: Teste yönelik Java kaynak dosyalarınızı içerir. Spring Initializr, yine grup ve artefakt adlarına göre bir paket yapısı oluşturur. Örneğimizde `com.example.demo` paket yapısında yer alan “DemoApplicationTests.java` dosyası bulunur.

- DemoApplicationTests.java: Spring Boot test sınıfıdır ve genellikle “@SpringBootTest” anotasyonu ile işaretlenmiştir. Bu sınıf, uygulamanızın testlerini içerir.

- src/test/resources/: Teste yönelik kaynak dosyalarınızı içerir. Bu dosyalar genellikle test yapılandırma dosyalarıdır.

2. Proje Kök Dizinindeki Dosyalar

  • .gitignore: Git sürüm kontrol sistemi için hangi dosya ve dizinlerin yoksayılacağını belirler.
    - HELP.md: Proje ile ilgili yardım dokümanını içerir.
    - mvnw ve mvnw.cmd: Maven Wrapper betikleridir. Projenizde belirli bir Maven sürümünü kullanmanızı sağlar ve Maven’ın sisteminizde yüklü olmasını gerektirmez.
    - pom.xml: Maven yapılandırma dosyasıdır. Projenizin bağımlılıklarını, yapı ayarlarını ve diğer yapılandırmaları içerir.
    - README.md: Proje ile ilgili genel bilgileri ve nasıl çalıştırılacağına dair talimatları içerir.

SONUÇ

Bu yazıda, Java Spring Boot projesi oluştururken Spring Initializr aracının nasıl kullanıldığını ve Spring Boot projelerinin genel dosya ve klasör yapısını ele aldık. Spring Initializr, projenizin temel yapı taşlarını hızla belirleyip oluşturmayı kolaylaştırır.

Tüm yazılarımı https://sercanozbek.medium.com/ adresinden inceleyebilirsiniz.

Bana ulaşmak için: LinkedIn

--

--

Sercan Ozbek
Sercan Ozbek

No responses yet