
Bu eğitim Spring Boot adlı çatımlama (framework) ile geliştirme yapılması gereken temel bilgileri içermektedir. En başından başlanmakla birlikte profesyonel geliştiricilerin bilmesi gerek konular derinlemesine anlatılmaktadır.
Başlangıçta Initializer ya da IntelliJ çevresinde bir proje oluşturma gösterilmektedir. Burada Maven ya da Gradle ile proje geliştirme; bağımlılıkları belirleme, projeyi paketleyerek çalıştırılabilir kılma ve JAR olarak çalıştırma işlemleri anlatılmaktadır. Herhangi bir IDE olmadan geliştirme işlemleri yapmak için kullanılan Spring CLI (Command Line Interface) için bir giriş de yapılmaktadır.
İçerikte arkauç (backend) geliştirme için gerekli olan REST konuları anlatılmaktadır. HTTP önkurallığı üzerinden JSON gibi biçimletmelerele iletişim kurulması gösterilmektedir. REST tekniğinde hem denetleyici (controller) hem de istemci (client) yapılması gösterilmektedir. HTTP üzerinde GET, POST, PUT DELETE yöntemleri kapsam içindedir. REST için yanıt varlığı (response entity) ve durum (status) gibi ileri konular da gösterilmektedir. Anlatılanlar arasında hem istek (request) hem de yanıt (response) için başlık (header) ve çerez (cookie) alınıp verilmesi de bulunmaktadır.
Kurs kapsamında Spring Data kütüphaneleri ve JPA (Java Persistence API- Java Direme APİ'si) ile ORM (Object-Relational-Mapping - Nesne-İlişkisel Eşlemleme) gösterilmektedir. Temel konulardan Entity (Varlık) ve Id (Özdeşlik) açımlaması; UUID ile verilmektedir. Sonrasında depo (repository) arayüzünün kullanımı; ekleme, güncelleme, silme gibi yazma; tek ve çok varlık okuma, yığışım (aggregate) gibi işlemler için bulunan hazır yöntemler anlatılmaktadır. Sonrasında sorgu (query) konusu ve JPQL ile sorgu yazılması gösterilmektedir. Kapsamda sayfalama / betleme (paging) ile sıralama (sorting) de yer almaktadır. JPQL kullanmadan sorgu yapılması için kullanılan türetilmiş sorgu (derived query) konusu da kapsamdadır. İçerikte ilişki (relation) konusu anlatılmakta; varlıkların doğrudan REST ile kullanılması durumunda oluşan JSON döngüsü sorununu çözümü için geri başvuru (back refrence) ve işletilen başvuru (managed reference) özellikleri gösterilmektedir.
Eğitimde yapılandırma (configuration) kullanımı anlatılmaktadır. Bir çekirdek (bean) kullanım ve içitme (injection) yapılması açıklanmaktadır. Çekirdekler için kapsam (scope) konusu içerikler arasında yer almaktadır. Kapsmana IoC (Inversion of Control - Denetimin Evitmesi) ve DI (Dependency Injection - Bağımlık İçitmesi) hem örüntü (pattern) olarak hem de yapılandırma (configuration) olarak gösterilmektedir. Ek olarak uygulamanın başalamsı ve kapatılması gibi durumları dinlemek için Bağlam Olayları / Context Events de verilmektedir.
İçerikte Olaylar (Event) ile Event-Drivent Programming (Olay Sürümlü İzlendirme) konuları işlenmektedir. Uygulamalar arasında bir tarafın olay tetiklenmesi ve ötekisinin dinlemesi işlemleri gösterilmektedir.
Asyc - Asynchronous (Eşzamansız) önce temel kullanımıyla verilmektedir. Sonra Eşakışlı Yürütücü / Concurrent Executor, Exception Handler ( Kuraldışılık Kotarıcı) ve Eşzamansız Olaylar / Async Events gibi ileri konular da işlenmektedir.
Görüntülerde amaç MicroServices (Ufak İşgörüler) & Even-Driven Architecture (Olay Sürümlü Mimari) ile geliştirme yapanların bilmesi gereken temel konuları derinlemesine anlatılmaktadır. Özellikle REST ve ORM üzerinde durulmakta, her geliştiricinin bilmesi gerekenler açıklamaktadır.