4. Spring Boot – Proje Oluşma

-

4. Bölüm: Bu bölümde Spring Initializr üzerinde bir Spring Boot uygulaması oluşturacağız. Bağımlılıklarımıza; Spring Web, Spring Data, Lombok ve H2 veritabanı ekleyecek 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.

En yaygın kullanılan annotastonlar 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.

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. Aşağıdaki görselden de yardım alabilirsiniz.

Generate tıklandığında proje olarak indirilir. O dosya 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 annotasyonunu 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.

Share this article

Recent posts

9. Spring Boot – Yayına Alımı

9. Bölüm: Bu bölümde uygulamayı derlemeyi ve yayına inceleyeceğiz. Bu bölüm, bu serinin son yazısıdır. Faydalı olması dileği ile.. Başarılar dilerim.

8. Spring Boot – Swagger Kullanımı

8. Bölüm: Bu bölümde Swagger kullanımını, RESTful API için doküman oluşturmayı ve Swagger üzerinden CRUD işlemleri yapmayı göreceğiz.

7. Spring Boot – Postman İşlemleri

7. Bölüm: Bu bölümde hazırladığımız uygulamayı test etmek için Postmanla CRUD işlemleri yapacağız. Postman, milyonlarca...

6. Spring Boot – CRUD Örneği

6. Bölüm: Bu bölümde, Spring Web ve Spring Data ile RESTful Webservisi üzerinden, CRUD (Ekleme, Okuma, Güncelleme, Silme) işlemleri yapacağız.

5. Spring Boot – Konfigürasyonlar

5. Bölüm: Bu bölümde, oluşturduğumuz örnek uygulama için gerekli olan; port, veritabanı, log vb. temel konfigürasyonları yapacağız. CRUD işlemleri yapacağımız bir sonraki...

Popular categories

Bir Cevap Yazın

Recent comments