Kategoriler
Spring Boot

Spring Boot Projesi Oluşturma

4. Bölüm: Spring Initializr ile bir Spring Boot uygulaması oluşturacağız. Spring Web, Spring Data, Lombok ve H2 veritabanı bileşenlerini ekleyerek bir uygulama oluşturacak ve kullanıma hazır hale getireceğiz.

Kullanılacak bileşenler:

Spring Web: Web uygulamaları için kullanılır. RESTful web servisleri ve MVC ile uygulama geliştirme altyapısı sunar.‌ İçinde gömülü bir Tomcat(uygulama sunucusu) ile gelir.

Spring Data: Veritabanı işlemleri için kullanılır. JPA/Hibernate entegrasyonları ile birlikte gelir. ORM ve klasik JDBC alt yapılarının ikisini de destekler.‌

H2 Veritabanı: Uygulama ile otomatik ayağa kalkan gömülü bir veritabanıdır. Genelde basit işlemler veya test için kullanılır. Kurulum gerektirmediği için tercih ettim.

Lombok: Genelde, Entity sınıfları gibi POJO sınıflarında kullanılır. Ama başka bir sürü yerde de işimize yarar.

Lombok da en yaygın kullanılan anotastonlar aşağıdadır:

@Data : @Getter + @Setter + @ToString + @EqualsAndHashCode methodlarını oluşturur.

@Getter: Get methodlarını oluşturur.

@Setter: Set methodlarını oluşturur.

@ToString: ToString methodunu oluşturur.

@EqualsAndHashCode: Equals ve HashCode methodlarını oluşturur.

@AllArgsConstructor: Fieldlerle birlikte bir constructor oluşturur.

@NoArgsConstructor: Boş bir constructor oluşturur.

@NonNull : Null kontrolü yapar ve NullPointerException fırlatmaktadır.

@Slf4j: Loglama işlemleri için kullanılır.

Lombok Kullanımı

Uygulama Oluşturma Aşaması:

https://start.spring.io/ veya bir IDE üzerinden uygulamada kullanılacak bağımlılıkları seçerek projemizi oluşturabiliriz. İki yöntemde de, arka planda maven veya gradle üzerinden bağımlılıklar eklenir ve yapılandırılır. Merhaba dünya örneğimizde IDE ile yapmıştık. Şimdi Spring Initializr ile yapacağız.

Bağımlılıklarımızı seçelim:

Maven, tercih edeceğiniz bir Java sürümü (bendeki Java 8), Spring Boot sürümü (bendeki 2.2.2), Spring Web, Spring Data, Lombok ve H2 bileşenlerini seçeceğiz. Aşağıdaki görselden de yardım alabilirsiniz.

Generate’e tıklandığında proje -zip- olarak indirilir. O klasör herhangi bir yere çıkarılır ve  bir IDE ile açılır. Ben IntelliJ kullandım.

Uygulama Yapısı:

İçerik:

  • pom.xml dosyası: Uygulamanın genel yapılandırması ve kullanmak için seçtiğimiz bütün maven bağımlılıklarının bulunduğu dosyadır.
  • uygulama ana sınıfı: @SpringBoootApplication anotasyonunu ve main metodunu barındıran, uygulamayı ayağa kaldıran ana sınıfıdır. @SpringBoootApplication: Spring Boot’un otomatik yapılandırma mekanizmasını etkinleştirir ve uygulamada hazır olarak gelir.
  • resources klasörü: Bizim şu an kullanmayacağımız, static ve templates adında -klasik template yapısı için- iki klasör. İsterseniz bunları direk kaldırabilirsiniz. Bizim için önemli olan içindeki application.properties dosyasıdır.
  • application.properties dosyası: Uygulamanın -portundan veritabanına- bütün ayarları burada bulunur. Detayları linktedir. NOT: Bu dosyayı yml uzantılı olarak da kullanabilirsiniz. Yml kullanımı da linktedir. Ayrıca her iki tipi; test, prod vb. gibi çoklu olarak da görmeniz mümkün. Her ortamın kendi ayarlarının yapılması adına, profiller üzerinden ortama göre build edilir. Profil konusunu ileride örneklendirmeye çalışacağım. Biz şu an olduğu gibi kullanacağız.

Bir sonraki yazımda bu konfigürasyonları yapacağız. Ardından katmanları yazıp ve CRUD işlemlerine geçeceğiz.

Bir Cevap Yazın