Spring Web MVC, Spring DI

Podobne dokumenty
Programowanie zespołowe

Spring, Maven, Postman, Debugger

Git, Bitbucket, IntelliJ IDEA

Użytkowanie PortableGit w systemie Windows. 1. Najważniejsze informacje

Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

Git, Bitbucket. Narzędzia i środowiska programistyczne. Laboratorium 2. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Programowanie Komponentowe WebAPI

Zarządzanie Infrastrukturą IT

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty

Wdrożenie modułu płatności eservice. dla systemu Magento

JAVA NA SERWERZE SPRING. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Zaawansowane aplikacje internetowe - laboratorium

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Rysunek 178. Programowanie monitorów KDS

Aplikacje internetowe i rozproszone - laboratorium

Poniższy diagram prezentuje scenariusz subskrypcji aplikacji do usługi CallEventNotifications.

Zaawansowane aplikacje internetowe

Rysunek 178. Programowanie monitorów KDS

Zarządzanie Infrastrukturą IT. Jak ręcznie utworzyć instancję EAUDYTORINSTANCE na SQL Serwerze

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Aplikacje WWW - laboratorium

Modele danych walidacja widoki zorientowane na model

Aplikacje WWW - laboratorium

Program szkolenia: REST i Microservices w PHP

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

Enterprise JavaBeans (EJB)

Wdrożenie modułu płatności eservice. dla systemu PrestaShop

Przygotowanie środowiska Java do prawidłowej obsługi podpisu elektronicznego w epuap

Katalog książek cz. 3: Web Service

Instalacja i konfiguracja SAS PC Files Server

Jak pobrać plan zajęć? wersja 1.0

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

Platformy Technologiczne

Laboratorium 1 Wprowadzenie do PHP

Kancelaria Prawna.WEB - POMOC

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

Aplikacje internetowe - laboratorium

Gra-zabawka dla niemowląt przygotowana z użyciem w Unity 3D

Instrukcja instalacji Control Expert 3.0

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Instrukcja konfigurowania poczty Exchange dla klienta pocztowego użytkowanego poza siecią uczelnianą SGH.

5.1. MINIPOS MINIPOS. INSTALACJA ORAZ URUCHOMIENIE USŁUGI

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin

Konfiguracja poczty IMO dla urządzeń mobilnych z systemem ios oraz Android.

Instrukcja obsługi certyfikatu kwalifikowanego w programie Płatnik.

Silent setup SAS Enterprise Guide (v 3.x)

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:

Instrukcja obsługi DHL KONWERTER 1.6

Exchange 2007 Konfiguracja protokołu SSL/TLS w serwerze pocztowym Exchange 2007 wersja 1.1 UNIZETO TECHNOLOGIES S.A.

Aplikacja VISO Mobile v1.0 (Android) Instrukcja instalacji i obsługi

Wdrożenie modułu płatności eservice dla systemu PrestaShop

Zarządzanie Infrastrukturą IT. Jak ręcznie utworzyć instancję EAUDYTORINSTANCE na SQL Serwerze

UNIFON podręcznik użytkownika

Procedura aktualizacji systemu TelkomBud (od wersji 139.0)

Wprowadzenie do projektu QualitySpy

Instrukcja importu deklaracji pacjentów. do dreryka

LeftHand Sp. z o. o.

NetDrive czyli jak w prosty sposób zarządzać zawartością FTP

PHP 5 język obiektowy

Przykład połączenie z bazą danych

Wdrożenie modułu płatności eservice dla systemu PrestaShop

Instalacja sieciowa Autodesk AutoCAD oraz wertykali

git krótki przewodnik

Ćwiczenie dotyczące platformy Java EE zostało przygotowane z myślą o środowisku NetBeans w wersji 7.3 (do pobrania z

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

Podręcznik Integracji

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

Instalacja pełnej wersji (development i/lub Windows runtime) oprogramowania Wonderware InTouch Machine Edition

System archiwizacji i konserwacji baz danych MS SQL

Dokumentacja końcowa projektu z ZPR

Dokument opisuje sposób postępowania prowadzący do wysłania deklaracji VAT, PIT lub CIT drogą elektroniczną za pomocą funkcji systemu ADA modułu FK.

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

HOTSPOT. [ konfiguracja, rejestracja, użytkowanie ]

Instrukcja obsługi Multiconverter 2.0

Zaawansowane Aplikacje Internetowe

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Komunikacja i wymiana danych

BACKUP BAZ DANYCH FIREBIRD

Informacje o aktualizacji oprogramowania

Po pobraniu plików instalacyjnych w pierwszej kolejności dokonujemy instalacji serwera ESET Remote Administrator Server

Aplikacja VISO Mobile (Android) Instrukcja instalacji i obsługi

Instalacja pakietu SAS 9.3 Audit, Performance and Measurement na platformie Windows

Instrukcja konfiguracji programu Fakt z modułem lanfakt

Wdrożenie modułu płatności eservice. dla systemu Virtuemart 1.1.x x

Instrukcja instalacji i konfiguracji Karty EDGE/GPRS SonyEricsson GC85

Podręcznik administratora Systemu SWD ST Instrukcja instalacji systemu

Konfiguracja programu MS Outlook 2007 dla poczty w hostingu Sprint Data Center

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Gatesms.eu Mobilne Rozwiązania dla biznesu

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Dokumentacja Techniczna 1.2. Webtoken MT. Uruchomienie subskrybcji MT poprzez serwis WWW

5.1. POSMOBILE POSMOBILE. INSTALACJA ORAZ URUCHOMIENIE USŁUGI

Transkrypt:

Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Laboratorium 5 Spring Web MVC, Spring DI Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2

Technologie Technologie / narzędzia będące przedmiotem laboratorium: PdfGenerator - praca z kodem Proszę pobrać aplikację PdfGenerator na dysk własnego komputera albo sklonować repozytorium Git (jeśli posiadają Państwo pliki źródłowe na platformie Bitbucket). Przed przystąpieniem do jakichkolwiek ćwiczeń proszę o skonfigurowanie projektu PdfGenerator aby uruchamiał się przy pomocy spring-boot a (konfiguracja została opisana w konspekcie laboratorium 4) oraz uruchomienie aplikacji Postman. IntelliJ IDEA - klonowanie projektu Proszę zalogować się na platformie Bitbucket. Należy przejść do menu Source. Następnie klikamy w button Clone. Proszę skopiować adres własnego repozytorium. 1

Następnie proszę przejść do ekranu powitalnego IntelliJ IDEA. Z menu należy wybrać Check out from Version Control Git. Wklejamy skopiowany adres repozytorium (należy pamiętać aby usunąć z skopiowanego adresu komendę git clone). Klikamy Clone. 2

Klikamy Yes. Projekt jest sklonowany i gotowy do działania. 3

Tworzymy kontroler Proszę utworzyć klasę DocumentApiContriller w pakiecie com/demo/springboot/rest/. Następnie dołączymy LOGGER oraz przykładową metodę testdocument(), tak jak zostało to zobrazowane na poniższym screenie. Parametry adnotacji @RequestMapping: value - dostosowywujemy URL żądanie do własnych potrzeb, method - dostosowywujemy metodę żądania np.: GET, POST, PUT, DELETE itd. W jaki sposób budowane jest żądanie HTTP? Po uruchomieniu aplikacji przy pomocy spring-boot uruchamiany jest serwer, który uruchamia się na lokalhoście (127.0.0.1) na porcie 8080. Początek żądania wygląda następująco: http://127.0.0.1:8080 Następnie sprawdzamy parametr value adnotacji @RequestMapping nad klasą kontrolera a jego wartość dopisujemy do żądania: http://127.0.0.1:8080/api Następnie sprawdzamy parametr value adnotacji @RequestMapping nad metodą testdocument(), a jego wartość dopisujemy do żądania: http://127.0.0.1:8080/api/document/test Teraz już wiemy, że na powyższe żądanie będzie reagowała metoda testdocument(). Możemy to sprawdzić uruchamiając aplikację i testując żądanie Postmanem. 4

W aplikacji Postman powinniśmy otrzymać kod odpowiedzi serwera 200 OK (lista wszystkich odpowiedzi HTTP dostępna jest tutaj). Poniżej został przedstawiony wynik działania usługi (logi serwera). Jak odczytać dane z ścieżki żądania? Adnotacja @PathVariable: Proszę dokonać modyfikacji kodu metody testdocument(), tak jak zostało to przedstawiona na poniższym screenie. Metoda testdocument(string name) po zmianach otrzymała zmienną name. Po modyfikacji ścieżki żądania HTTP oraz wprowadzeniu adnotacji @PathVariable jesteśmy w stanie przechwycić taką zmienną bezpośrednio z linka (taka zmienna może być mapowana na inne typy np.: int, double, long itd. w zależności od potrzeb programisty). Proszę przetestować metodę w praktyce. 5

W aplikacji Postman powinniśmy otrzymać kod odpowiedzi serwera 200 OK (lista wszystkich odpowiedzi HTTP dostępna jest tutaj). Poniżej został przedstawiony wynik działania usługi (logi serwera). Jak odczytać dane z parametrów żądania? Adnotacja @RequestParam: Proszę dokonać modyfikacji kodu metody testdocument(), tak jak zostało to przedstawiona na poniższym screenie. Metoda testdocument(string firstname, Integer age) po zmianach otrzymała zmienne first- Name oraz age. Po modyfikacji ścieżki żądania HTTP oraz wprowadzeniu adnotacji @RequestParam jesteśmy w stanie przechwycić takie zmienne (takie zmienne mogą być mapowana na inne typy np.: int, double, long itd. w zależności od potrzeb programisty). Proszę przetestować metodę w praktyce. 6

W aplikacji Postman powinniśmy otrzymać kod odpowiedzi serwera 200 OK (lista wszystkich odpowiedzi HTTP dostępna jest tutaj). Poniżej został przedstawiony wynik działania usługi (logi serwera). Jak odczytać JSONa? Proszę utworzyć klasę DocumentDto (DTO - data transfer object) w pakiecie com/demo- /springboot/domain/dto, tak jak zostało to zobrazowane na poniższym screenie. 7

Następnie proszę zmodyfikować metodę testdocument() aby mogła przyjmować JSONa. Sytuacja została przedstawiona na poniższym screenie. Metoda testdocument(documentdto documentdto) po zmianach otrzymała zmienną documentdto. Po modyfikacji ścieżki żądania HTTP oraz wprowadzeniu adnotacji @Request- Body jesteśmy w stanie przechwycić JSONa (jeśli wywołamy taką usługę i wyślemy JSONa z identycznymi nazwami pól jak pola klasy DocumentDto wówczas będziemy w stanie odczytać wartości wszystkich zmiennych przekazanych z zewnątrz do serwera). Proszę przetestować metodę w praktyce. W aplikacji Postman powinniśmy otrzymać kod odpowiedzi serwera 201 Created (lista wszystkich odpowiedzi HTTP dostępna jest tutaj). Poniżej został przedstawiony wynik działania usługi (logi serwera). 8

W jaki sposób usługa zwraca JSONa? Proszę zmodyfikować metodę testdocument(), aby mogła zwracać JSONa. Sytuacja została przedstawiona na poniższym screenie (zakładam, że została już utworzona klasa DocumentDto - jeśli nie to proszę utworzyć klasę DocumentDto, tak jak zostało to opisane w poprzednim podrozdziale). Metoda testdocument() po zmianach jest w stanie zwrócić JSONa (ResponseEntity przyjmuje instancję klasy DocumentDto oraz kod błędu OK, dzięki temu będziemy w stanie zwrócić JSONa po wywołaniu usługi). Proszę przetestować metodę w praktyce. 9

W aplikacji Postman powinniśmy otrzymać kod odpowiedzi serwera 200 OK (lista wszystkich odpowiedzi HTTP dostępna jest tutaj). Poniżej został przedstawiony wynik działania usługi (logi serwera). Spring - wstrzykiwanie zależności (DI) @Autowired - łączenie komponentów. W przypadku obiektów zarządzanych przez Springa możemy zastosować tzw. wstrzykiwanie zależności (DI). Co to znaczy, że obiekt jest zarządzany przez Springa? Aby obiekt był zarządzany przez Springa należy zastosowac adnotację przed klasą np.: @Controller, @Service, @Repository, @Component. Wstrzykiwanie zależności działa na klasach, które zawierają powyższe adnotacje. Jak wstrzykiwanie działa w praktyce? Proszę utworzyć interfejs DocumentService w pakiecie com/demo/springboot/service/, tak jak zostało to zobrazowane na poniższym screenie. Następnie proszę utworzyć klasę DocumentServiceImpl (klasa, która implementuje interfejs DocumentService) w pakiecie com/demo/springboot/service/impl. Klasa będzie posiadała adnotację @Service, dzięki tej adnotacji powiemy Springowi, że ta klasa będzie przez niego zarządzana i będzie mogła podlegać wstrzykiwaniu. Więcej informacji przedstawia poniższy screen. Komponent jest gotowy do działania. Teraz tylko wystarczy odwołać się do interfejsu w polu klasy DocumentApiController oraz opatrzyć takie pole adnotacją @Autowired. W tym momencie 10

dokonaliśmy łączenia komponentów Springa. Cała sytuacja została przedstawiona na poniższym screenie (implementacja metody testdocument() została zmieniona na potrzeby ćwiczenia). Metoda testdocument() po zmianach jest w stanie odnosić się do wstrzykniętego komponentu Springa (DocumentService). Proszę przetestować metodę w praktyce. W aplikacji Postman powinniśmy otrzymać kod odpowiedzi serwera 200 OK oraz komunikat Jestem komponentem Springa i można mnie wstrzykiwać (komunikat został wygenerowany w serwisie, przesłany do kontrolera i zwrócony w usłudze). Poniżej został przedstawiony wynik działania usługi (logi serwera). 11