Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, 11-12 yıllık tecrübeye sahip bir eğitmen tarafından sunulan Spring Boot ve Java konularında kapsamlı bir eğitim içeriğidir. Eğitmen, Discord kanalında canlı olarak yardım ettiğini ve sektördeki güncel standartları aktarmak istediğini belirtmektedir.
- Video, Spring Boot web projesinin sıfırdan nasıl oluşturulacağını adım adım göstermektedir. İçerikte Start Spring.io üzerinden proje oluşturma, paket yapısı, model oluşturma, Spring Data JPA ile ilişki kurma, DTO'lar, Docker entegrasyonu ve RITMI ile proje temizleme gibi konular ele alınmaktadır. Ayrıca katmanlı mimari yapısı (FASAT design pattern) Alice karakteri üzerinden görsel olarak anlatılmaktadır.
- Eğitim, Spring Boot projelerinde standart paket yapısını (controller, model, repository, exception) detaylı şekilde açıklamakta ve her bir katmanın görevlerini, aralarındaki ilişkiyi örneklerle göstermektedir. Video, soru-cevap bölümüyle sonlanmaktadır.
- Güncel Spring Boot Eğitimi Hakkında Endişe
- Konuşmacı, Discord kanalında yardım alan kullanıcıların eski ve standart olmayan yöntemlerle eğitim aldığını belirtiyor.
- Eğitimlerde auto-wire'lar, account servis, servis interface'leri ve for döngüleri gibi eski yöntemler kullanılıyor.
- Konuşmacı, bu yöntemlerle sektörde iş bulunamayacağını ve eğitim verenlerin kendilerini yenileme ihtiyacı duymadığını düşünüyor.
- 03:28Proje Hedefi ve İçeriği
- Bugün sıfırdan bir proje yapılacak ve içerisinde melitmanlar, front-end ve Spring Boot kullanılacak.
- Proje yapısı, paket yapısı, Spring Boot standartları ve modellerin oluşturulması gibi konular ele alınacak.
- Spring Data JPA ile ilişki modelleri (one-to-one, one-to-many) kullanılacak ve DTO'lar oluşturulacak.
- 07:09Proje İstekleri
- Proje için bir API oluşturulacak, bu API customrid ve initial credit parametreleriyle yeni bir hesap oluşturacak.
- Bir diğer endpoint ile kullanıcı bilgileri (name, surname, balance ve transaction listesi) dönecek.
- Veri persist edilmeyecek, sadece bellekte (in-memory) tutulacak, bunun için HashMap kullanılacak.
- 09:10Spring Boot Proje Yapısı
- Proje hem front-end hem de back-end olacak, ancak bugün daha çok back-end tarafı üzerinde durulacak.
- Spring Boot projelerinde pom.xml dosyası, uygulamanın kullandığı kütüphaneleri, versiyonlarını ve proje bilgilerini içerir.
- Proje oluşturma için start.spring.io adresinden başlanacak, grup id ve artifact id gibi bilgiler girilecek.
- 13:03Spring Boot Versiyonları ve Proje Oluşturma
- Spring Boot'un güncel versiyonu 2.5.1'dir, eski versiyonlar (2.4.7, 2.3.1, 2.2.5) günümüzde verilen eğitimlerde kullanılmaktadır.
- Spring Boot'un web sitesinde snapshot'lar bulunmakta olup, bu yeni versiyonlardır ancak çok önerilmez.
- Java 11 kullanılacak, Maven projesi oluşturulacak ve Spring Boot'a web, in-memory database ve Spring Data JPA kütüphaneleri eklenecektir.
- 17:50Spring Boot Projesi Oluşturma ve Paket Yapısı
- Spring Boot projesi oluşturulduktan sonra ilk yapılması gereken paket yapısını belirlemektir.
- Bir Spring Boot projesinde servis, controller, model, DTO, repository ve exception paketleri oluşturulmalıdır.
- DTO'lar olmayan hiçbir API yazılmamalı, modeller API'ler aracılığıyla dışarıya aktarılmamalıdır.
- 22:11Katman Mimarisi ve Fasat Design Pattern
- Fasat design pattern, projelerde kullanılan bir tasarım desenidir ve katman mimarisi olarak da bilinir.
- Controller katmanı kullanıcıdan isteği alır, validasyonları yapar ve servis katmanına aktarır.
- Servis katmanı iş modelini işler ve sadece kendisine hizmet eden repository ile konuşur, farklı servislerin repository'lerini çağırmamalıdır.
- Repository katmanı veritabanı ile konuşur ve veri tabanında isteklerde bulunur.