Spring Framework, Spring Boot Poznań, 28.10.2014, Artur Otrzonsek
Agenda Spring Dlaczego warto korzystać ze Springa Główne elementy biblioteki Spring Boot Wprowadzenie Szybka konfiguracja Praktyczny przykład Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Agenda Spring Dlaczego warto korzystać ze Springa Główne elementy biblioteki Spring Boot Wprowadzenie Szybka konfiguracja Praktyczny przykład Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Czym właściwie jest Spring? Biblioteka dostępna na zasadach open source Platforma wspierająca proces tworzenia oprogramowania w technologii java/J2EE Uproszczenie programowania w Java Enterprise Edition Bardzo rozbudowany moduł komponentów Kontener wstrzykiwania zależności Zarządzanie komponentami i ich zależnościami Zmniejszenie stopnia powiązania klas między sobą http://spring.io Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Agenda Spring Dlaczego warto korzystać ze Springa Główne elementy biblioteki Spring Boot Wprowadzenie Szybka konfiguracja Praktyczny przykład Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Dlaczego Spring? Popularność Jakość Modularność Wiele ofert pracy wymaga znajomości Springa Jakość Przykład dobrze przetestowanego kodu Modularność Ponad 20 modułów zawartych w 6 kategoriach Wykorzystanie najlepszych praktyk programowania Wzorce projektowe, rozłączanie komponentów, testy jednostkowe Łatwy w nauce Bardzo dobra dokumentacja i przykłady Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Agenda Spring Dlaczego warto korzystać ze Springa Główne elementy biblioteki Spring Boot Wprowadzenie Szybka konfiguracja Praktyczny przykład Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Główne elementy biblioteki Udostępnia model komponentów oraz zbiór prostych i spójnych API Izolacja od złożonego kodu podstawowego Modularność Podstawowy kontener Spring Programowanie Aspektowe (AOP) Dostęp do danych Sieć WWW (Web) Testy Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Podstawowy kontener Spring Zawiera podstawowe moduły Funkcjonalność Inversion of Controll i Dependency Injection Zwykła zależność między klasami Klasy odseparowane Beans Core Context Expression Language Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Dependency Injection Plik konfiguracyjny applicationContext.xml Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Annotation-config Plik konfiguracyjny applicationContext.xml rozszerzony o skanowanie pakietów Klasa UserService przy użyciu adnotacji stereotypów Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Programowanie aspektowe AOP Programowanie obiektowe vs programowanie aspektowe Programowanie obiektowe Programowanie aspektowe Hermetyzacja Dziedziczenie Klasa jako podstawowa jednostka modularyzacji Wydzielanie wspólnych cech obiektów Aspekt jako podstawowa jednostka modularyzacji Wydzielenie wspólnych koncepcji w niepowiązanych ze sobą klasach Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Programowanie aspektowe AOP Standardowa obsługa transakcji bazodanowych na przykładzie Hibernate Otwarcie transakcji Utworzenie sesji Hibernate i połączenie jej z transakcją Wykonanie metody biznesowej przy użyciu DAO Zatwierdzenie lub wycofanie transakcji Commit lub rollback Zamknięcie sesji Hibernate Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Programowanie aspektowe AOP Adnotacja @Transactional jako przykład AOP Najlepszy sposób budowania transakcyjnych aplikacji Spring Brak powielonego kodu Bardzo łatwa konfiguracja Propagacja, izolacja, timeout, readOnly, rollbackFor itp. Możliwość zdefiniowania na całej klasie Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Programowanie aspektowe AOP Plik konfiguracyjny applicationContext.xml Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Agenda Spring Dlaczego warto korzystać ze Springa Główne elementy biblioteki Spring Boot Wprowadzenie Szybka konfiguracja Praktyczny przykład Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Agenda Spring Dlaczego warto korzystać ze Springa Główne elementy biblioteki Spring Boot Wprowadzenie Szybka konfiguracja Praktyczny przykład Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Wprowadzenie do Spring Boot Ułatwia tworzenie aplikacji opartych na Spring Bierze odpowiedzialność za dołączenie niezbędnych komponentów Większość aplikacji opartych na Spring Boot wymaga minimalnej konfiguracji Spring Wspiera standardowe aplikacje java (java –jar), jak i bardziej tradycyjne (war) Dostarcza skonfigurowaną aplikację, ale pozwala na własną konfigurację w zależności od potrzeb Zapewnia szeroki zakres funkcji, konfiguracji, które są wspólne dla wielu grup projektów Nie generuje kodu Nie wymaga konfiguracji XML Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Agenda Spring Dlaczego warto korzystać ze Springa Główne elementy biblioteki Spring Boot Wprowadzenie Szybka konfiguracja Praktyczny przykład Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Konfiguracja Przykładowa klasa z automatyczną konfiguracją Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Konfiguracja Adnotacja @RestController Adnotacja @RequestMapping Sprawia, że kod jest czytelny Oznacza klasę, że ma być brana pod uwagę przy przychodzących requestach Adnotacja @RequestMapping Zawiera informacje o routingu Adnotacja @EnableAutoConfiguration Informuje, że Spring-Boot ma „zgadnąć” jak skonfigurować aplikację Metoda main Deleguje uruchomienie aplikacji do klasy SpringApplication wywołując metodę run Jako parametr przekazujemy główny komponent aplikacji. Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Agenda Spring Dlaczego warto korzystać ze Springa Główne elementy biblioteki Spring Boot Wprowadzenie Szybka konfiguracja Praktyczny przykład Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx
Spring Boot – przykładowa aplikacja Aplikacja webowa zainstalowana na serwerze aplikacji Tomcat ORM z pamięciową bazą danych Transakcje Spring MVC Spring Security Thymeleaf Biblioteka do tworzenia szablonów zgodnych z HTML5 http://start.spring.io/ Copyright © Capgemini 2013. All Rights Reserved poznan_spring.pptx