V tomto kurze sa naučíš robiť so Spring Boot. Spring Boot je nadstavba Springu, ktorý je najpoužívanejší Java framework. Ak v nejakej firme používajú Javu pri tvorbe aplikácií, tak je veľká šanca, že budú používať práve Spring resp. Spring Boot.
https://spring.io/projects/spring-boot
V tomto kurze spoločne vytvoríme Spring Boot aplikáciu Shop, v ktorej budeme mať zákazníkov, predajcov a ich produkty. Všetko budeme zapisovať a čítať z MySQL databázy, do ktorej si najprv navrhneme a vytvoríme tabuľky. Nad týmito tabuľkami implementujeme CRUD operácie.
Vytvoríme Restové API, aby nás mohol volať potenciálny frontend.
Aplikáciu budeme testovať Spring Boot testami a taktiež budeme simulovať frontend pomocou Postman aplikácie, s ktorou budeme posielať requesty na náš server.
Zdrojový kód aplikácie je na mojom verejnom github repozitári. https://github.com/xjahic/SHOP
Commitoval som po každom videu, takže si môžete jednoduchšie kontrolovať svoj kód oproti môjmu kódu.
Určite potrebuješ ovládať Javu. Nemusíš byť v nej žiadny guru, ale nemal by si mať problém so základmi. Kurz Java pre začiatočníkov tu na Learn2Code by ti nemal robiť žiadne problémy. Ak si myslíš, že máš medzery v Jave, tak možno ešte aj kurz Java pre pokročilých je pre teba.
Javu samu o sebe nebudem rozoberať v tomto online kurze.
Či už je tvojím cieľom stať sa Java programátorom, alebo sa jednoducho oboznámiť so Spring Bootom, tento kurz je pre teba.
Ak si prelistuješ pracovné ponuky na profesia.sk pre pozíciu Java developer, skoro každá, ak nie úplne každá pozícia, vyžaduje znalosť Springu resp. Spring Bootu. Novo nadobudnuté znalosti ťa posunú v tvojich skilloch dopredu a zároveň znásobia tvoje šance na získanie práce ako Junior Java Developer či Junior Software Engineer.
Vďaka tomuto kurzu budeš schopný/á navrhnúť a vytvoriť Spring Boot aplikáciu. Tento kurz ti dá solídny základ a prehľad o tom ako funguje backend pre väčšinu webových aplikácií.
O čom je tento kurz
Čo už treba a netreba vedieť?
Čo potrebujete mať nainštalované?
Čo sa naučíte a ako to môžete vyžiť?
Ako bude vyzerať aplikácia na konci kurzu?
Čo je to Spring
Dependency injection
Čo je to Spring Boot
Spring initializer vytvorenie aplikácie Shop
Orientovanie sa v projekte
Vytvorenie Beany, ktorá vypíše naše meno
Návrh Aplikácie
Návrh databázových entít
Stiahnutie a inštalácia
Vytvorenie databázy
Importnutie databázy - Ak nechcete vytvárať
Vytvorenie tabuľky merchant
Vytvorenie tabuľky product
Vytvorenie tabuľky customer
Customer
Product
Merchant
Pridanie dependencies pre databázu
Konfigurácia databázy a skúška napojenia
Ako písať testy v Spring Boot aplikácii
Test pre zápis - Customer
Test pre zápis - Merchant
Test pre zápis - Product
Použitie H2 in memory databázu v testoch
CRUD
CustomerService
ProductService
MerchantService
CustomerRowMapper
CustomerRepository
CustomerService implementácia
ProductRowMapper
ProductRepository
ProductService implementácia
MerchantRowMapper
MerchantRepository
MerchantService implementácia
Testy pre CustomerService
Testy pre MerchantService
Testy pre ProductService
Čo je to REST API
Návrh Shop REST API
Hello world Rest Controller
Opravenie createdAt v produkte
Testovacie triedy púšťať s prázdnou H2 DB
Import Shop collection do Postman
CustomerController implementácia
Postman prevolania a overenie
MerchantController implementácia
Postman prevolania a overenie
ProductController implementácia
Postman prevolania a overenie
Otestovanie Customer REST API
Otestovanie Merchant REST API
Otestovanie Product REST API
Funkcionalita nákupu - vízia
Funkcionalita nákupu - návrh
Vytvorenie CustomerAccount
CustomerAccountService
CustomerAccountRepository
CustomerAccountServiceImpl
CustomerController rozšírenie o pridanie účtu
Vytvorenie BoughtProduct
BoughtProductRowMapper
BoughtProductService
BoughtProductRepository
BoughtProductServiceImpl
BoughtProductController
Vytvorenie nových DB tabuliek
ProductService rozšírený o updateAvailable
ShoppingService (BuyProductRequest, BuyProductResponse)
ShoppingServiceImpl
ShoppingController
Postman update kolekcie
Otestovanie postman prevolaniami
Spätný pohľad na to, čo sme spravili
Návrhy na nové funkcionality
Prečo je Spring Boot taký populárny
Ďalšie kroky