Spring Boot ile İlk Adım.
Merhabalar bugün sizlerle beraber spring boot’a ilk adımımızı atacağız.
Bu tutorial’da kullanacağım ön koşullar:
- Basic Java Bilgisi
- Java JDK
- IntelliJ Idea
- MySQL Database
- Insomnia
start.spring.io adresine giderek projemizi yapılandırıyoruz. Project kısmında bağımlılık yöneticisi olarak Maven’ı, Dil olarak Java’yı, Spring Boot versiyonu olarak 3.2.0’ı seçiyorum. Jar packaging ve Java 17 kullanıyorum. Project Metadata’yı kendinize göre düzenleyebilirsiniz.
Bağımlılık olarak Spring Framework ile web uygulamaları geliştirmek için kullanılan Spring Web modülünü,
Veritabanı etkileşimi ve CRUD (Create, Read, Update, Delete) operasyonları için Spring Data JPA’i ve MySQL Driver’ini seçiyorum ve generate’e tıklıyorum.
İndirdiğim dosyayı IntelliJ’de açtıktan sonra src/main/java/com/example/firstStep buraya “model” isimli bir package kuruyor ve içine User isimli bir class oluşturuyorum.
Görseldeki gibi class’a @Entity anotasyonunu yazıyorum ve class içerisinde gördüğünüz değerleri, getter ve setterları oluşturuyorum. Buradaki @Entity anotasyonu veritabanımdaki bir tabloyu temsil edecek.
Sonrasında bir repository package’ı oluşturuyorum ve UserRepository adlı bir Interface kuruyorum. JpaRepository’i extend ediyorum. İlk parametreye model’imi, ikinci parametreyi de Id’mi tanımladığım tipte giriyorum. Jpa’ya ait crud işlemlerini daha sonra kullanabilmem için gerekli olacak.
Sizler de Jpa’de gezintiye çıkarak kullanabileceklerinizi görebilirsiniz.
Veritabanı kısmına geçiyorum.
Cihazınıza uygun MySQL Community Server’in ve Workbench’in linklerine aşağıdan ulaşabilirsiniz
MySQL Community Server
https://dev.mysql.com/downloads/mysql/
MySQL Workbench
https://dev.mysql.com/downloads/workbench/
Kurulumları yaptıktan sonra Workbench’ten firstepdb isminde bir database oluşturuyorum ve run ediyorum.
Resources’da bulunan application.properties dosyasına görseldeki gibi:
“spring.jpa.hibernate.ddl-auto=create-drop” satırını yazdım, buradaki create drop uygulamamı sonlandırdığımda veritabanıma eklediğim bilgileri siliyor. Böyle olmasını istemiyorsanız create drop yerine update değerini de verebilirsiniz.
Sonrasında veritabanımın diğer özelliklerini yazıyorum. Username ve password kısmına kendi değerlerinizi girmelisiniz.
Bu aşamadan sonra FirstStepApplication.java Class’ını run ettiğimiz zaman çalışmış olacak ve MySQL’de User tablomuz oluşturulmuş olacak. Siz de run ederek deneyebilirsiniz.
Yeni bir controller isimli package kuruyorum ve UserController isimli bir class oluşturup aşağıdaki gibi @RestController anotasyonunu yazıyorum. Bu anotasyon yazacağımız GET,POST,PUT ve DELETE metodlarına tepki verilmesi için gereklidir.
UserRepository satırımın üzerinde kullandığım “@Autowired” anotasyonu kullanıldığında, Spring Container, uygun bir bağımlılık nesnesini sağlamaya çalışır ve bu nesneyi ilgili alan, setter metodu veya constructor aracılığıyla enjekte eder. Burada constructor kullanarak dosyamı daha kalabalık hale getirmekten kurtarmış oluyorum.
Şimdi Insomnia’yı açarak @PostMapping parantezi içerisindeki adrese yeni bir kullanıcıyı Post ediyorum.
Böylece hem veri tabanıma bu bilgi yazılmış oldu hem de tarayıcımdan http://localhost:8080/users adresinde girdiğim bilgileri görebilmiş oldum.
Bu yazıda Spring Boot tadımı yapmış olduk. Umarım yararlı olur.
İyi çalışmalar dilerim.