Spis treści

REVEAL theme=simple&disableLayout=0&transition=none&controls=1&show_progress_bar=1&build_all_lists=0&show_image_borders=0&horizontal_slide_level=2&enlarge_vertical_slide_headers=0&show_slide_details=1&open_in_new_window=1&size=1024×768

<html> <style type=„text/css”> p { text-align: left;} .reveal { font-size: 30px; } .reveal section { width: 96%; margin: 0 auto; } .reveal .slides { width: 60% !important; } .reveal ul, .reveal ol { margin-left: 1.5em; } .reveal pre code {

height: 100%;
max-height: 100%;
box-sizing: border-box; }

</style> </html>

Zajęcia 14 i 15. - Framework Spring i wzorzec MVC

Co to jest Spring? Spring to zaawansowana platforma do tworzenia aplikacji w Javie. Składa się z wielu modułów. Kluczowym elementem jest kontener IoC (Inversion of Control) udostępniający mechanizm wstrzykiwania zależności (Dependency Injection), co przyspiesza składanie aplikacji. Spring to „framework frameworków” i jeden z najpopularniejszych frameworków w Javie.

Oczywiste zalety Springa

181_1.jpg

Spring - moduły

Drobne wtrącenie - Spark

Istnieje też mikroframework Spark (nie mylić z Apache Spark), skierowany na prostotę i minimalizm - przydatny w aplikacjach o ograniczonych zasobach (np. Raspberry Pi). Dokumentacja: Spark Java

Dokumentacja Spring

Strona projektu: spring.io

Spring w IntelliJ IDEA: Spring support in IntelliJ IDEA

Automatyzacja budowania projektów

Do zarządzania zależnościami i budowaniem projektów najpopularniejsze są Maven i Gradle. Dla Springa wygodnym narzędziem jest Spring Initializr (https://start.spring.io) - generuje szablon projektu z konfiguracją.

Maven i Gradle - Dokumentacja Maven: maven.apache.org - Dokumentacja Gradle: gradle.org

Wzorzec architektoniczny MVC - M - Model: warstwa logiki aplikacji - V - View (Widok): warstwa interfejsu użytkownika, prezentująca dane z modelu - C - Controller: warstwa przyjmująca dane od użytkownika, aktualizująca model i odświeżająca widoki

Spring Web MVC (Spring MVC)

Kluczowe funkcjonalności Spring Web MVC:

@GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping).

Handler methods i parametry:

Obsługa wyjątków i Controller Advice

Część praktyczna

Podzielona na dwie części:

Uwaga: Aby w pełni korzystać z integracji Springa w IntelliJ, przydatna jest wersja Ultimate (licencje studenckie dostępne od JetBrains).