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>
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.
Spring - moduły
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
Strona projektu: spring.io
Spring w IntelliJ IDEA: Spring support in IntelliJ IDEA
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
Kluczowe funkcjonalności Spring Web MVC:
@GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping).
Handler methods i parametry:
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).