Podstawy frameworka Spring Adresaci szkolenia: Szkolenie przeznaczone jest dla programistów znających język Java, chcących poszerzyć swoje kompetencje w zakresie tworzenia aplikacji.koncepcja szkolenia została oparta o zestaw praktycznych problemów z jakimi można się spotkać podczas codziennej pracy. Kurs kończy się certyfikatem naszej firmy, który można uzyskać poprzez realizację określonych zadań końcowych. Podczas szkolenia wykorzystywane są róznorodne materiały (m.in. materiały video) w postaci prezentacji jak i arkuszy z ćwiczeniami praktycznymi, stosowane są liczne narzędzia i pomoce dydaktyczne powiązane z tym zagadnieniem.jakość i skuteczność szkolenia mierzona jest ankietami indywidualnymi, raportami poszkoleniowymi jak również z wykorzystaniem testów wstępnych oraz końcowych. Kurs finalizowany jest projektem, który uczestnicy realizują po odbytym szkoleniu. Przez okres trzech tygodni, po ukończeniu kursu możliwy jest również kontakt z trenerem, celem zasięgnięcia konsultacji. Parametry szkolenia: KOD: SPRING-BAS CZAS TRWANIA: 3 dni / 21 h WIELKOŚĆ GRUPY: maks. 10 osób CENA NETTO: 2250 PLN PROWADZĄCY: Grzegorz Chaś AUTOR MATERIAŁÓW: Grzegorz Chaś Cel: Celem szkolenia jest zapoznanie uczestników z teoretycznymi oraz praktycznymi zagadnieniami technologii spring, umożliwiającymi efektywne tworzenie aplikacji. Osoby, które ukończą szkolenie dowiedzą się jak: wykorzystywać kontener IoC wykonywać operacje na bazie danych z użyciem JDBC optymalnie stosować ORM w praktyce wykorzystywać transakcje stosować programowanie aspektowe testować komponenty z użyciem springa Wymagania: 1
Od uczestników wymagana jest znajomość Java oraz podstawowa znajomość przynajmniej jednej relacyjnej bazy danych. Program szkolenia: 1. Spring IoC 1.1. Wprowadzenie do IoC 1.2. Dopasowanie zależności 1.3. Konfiguracja 1.3.1. Z wykorzystaniem xml 1.3.2. Z wykorzystaniem adnotacji 1.3.3. Które podejście jest lepsze? 1.4. Co to jest "Inversion of Control"? 1.5. Zarządzanie beanami w kontenerze IoC 1.5.1. Tworzenie bean-ów 1.5.2. Własności proste i złożone 1.5.3. Wstrzykiwanie przez konstruktor 1.5.4. Wstrzykiwanie poprzez setter 1.5.5. Wstrzykiwanie referencji do innych beanów 1.5.6. Zasięgi beanów: singleton, prototype, request, session 1.6. Autowiring i skanowanie komponentów poprzez adnotacje 1.6.1. Adnotacja: @Autowired 1.6.2. Adnotacje typu Stereotype 1.6.3. Skanowanie komponentów 1.7. Cykl życia beanów 2
1.7.1. Słuchacze i zdarzenia 1.7.1.1. BeanPostProcessor 1.7.1.2. Adnotacja: PostConstruct 1.7.1.3. Init methods 1.7.2. Inicjalizacja typu Lazy 1.8. Edytory właściwości 1.9. Spring Expression Language 2. Spring JDBC 2.1. Wprowadzenie do JDBC 2.2. Dopasowanie zależności 2.3. Konfiguracja 2.4. Wzorzec projektowy DAO 2.5. JDBC API 2.6. Rejestracja sterownika 2.7. Tworzenie datasourca 2.7.1. Z wykorzystaniem xml 2.7.2. Z wykorzystaniem adnotacji 2.8. Zastosowanie JdbcTemplate 2.9. Wykonywanie zapytań 2.9.1. SqlParameterSource 2.9.2. NamedParameterJdbcOperations 2.9.3. RowMapper 2.10. Dodawanie i modyfikacja rekordów 3
2.10.1. Z wykorzystaniem JdbcTemplate 2.10.2. Z wykorzystaniem SimpleJdbcInsert 2.11. Obsługa transakcji 2.11.1. Zarządzanie na poziomie beana 2.11.2. Zarządzanie na poziomie kontenera 3. Spring ORM 3.1. Wprowadzenie do Spring ORM 3.2. Co to jest JPA? 3.3. Co to jest Hibernate? 3.4. Jakie są różnice pomiędzy JPA a Hibernate? 3.5. Konfiguracja kontekstu 3.5.1. Konfiguracja Hibernate 3.5.1.1. Konfiguracja SessionFactory 3.5.1.2. Konfiguracja zarządcy transakcji 3.5.1.3. Konfiguracja HibernateTemplate 3.5.2. Konfiguracja JPA 3.5.2.1. Konfiguracja EntityManagerFactory 3.5.2.2. Konfiguracja zarządcy transakcji 3.6. Cykl życia encji 3.7. Adnotacje 3.8. Zapis i modyfikacja danych 3.9. Tworzenie zapytań 3.9.1. Wykorzystanie HQL / JPQL 4
3.9.2. Wykorzystanie Criteria API z JPA 3.9.3. Zapytania natywne SQL 3.10. Klucze główne oraz złożone 3.11. Mapowanie encji 3.12. Kierunkowość i krotność relacji 3.12.1. One-To-One 3.12.2. One-To-Many 3.12.3. Many-To-One 3.12.4. ManyTo-Many 3.13. Mapowanie typu EAGER oraz LAZY 3.14. Kaskadowość 3.15. Transakcje oraz blokowanie 3.15.1. Zarządzanie transakcją na poziomie beana 3.15.2. Zarządzanie transakcją na poziomie kontenera 3.15.3. Poziomy izolacji transakcji 3.15.4. Blokowanie optymistyczne oraz pesymistyczne 3.15.5. Współbieżny dostęp do danych 3.15.5.1. Zabezpieczanie poprzez izolację transakcji 3.15.5.2. Zabezpieczanie poprzez blokowanie rekordów 3.16. Zastosowanie Cache 3.16.1. Konfiguracja cache dla potrzeb Hibernate 3.16.2. Konfiguracja cache dla potrzeb JPA 3.16.3. Wykorzystanie First oraz Second Level Cache 5
3.17. Bean Validation 3.17.1. Konfiguracja 3.17.2. Bean Validation API 3.17.3. Walidacja poszczególnych elementów 3.17.3.1. Klasa 3.17.3.2. Property 3.17.3.3. Metoda 4. Transakcje 4.1. ACID 4.1.1. Atomicy 4.1.2. Consistency 4.1.3. Isolation 4.1.4. Durability 4.2. Wybór właściwego transaction managera 4.3. Tworzenie transakcji poprzez JDBC 4.4. Tworzenie transakcji poprzez JPA/Hibernate 4.5. Transakcje zarządzane przez kontener 4.6. Transakcje zarządzane na poziomie beana 4.7. Atrybuty transakcji 4.7.1. Propagacja 4.7.2. Izolacja 4.8. Definiowanie poprzez XML lub adnotacje 5. Spring AOP 6
5.1. Do czego służą aspekty? 5.2. Pojęcie proxy 5.3. Terminologia AOP 5.3.1. Advice 5.3.1.1. Before 5.3.1.2. After 5.3.1.3. After-returning 5.3.1.4. After-throwing 5.3.1.5. Around 5.3.2 JoinPoints 5.3.3 PointCuts 5.3.4 Aspects 5.3.5 Introductions 5.3.6 Weaving 5.4. Tworzenie aspektów z wykorzystaniem xml 5.5. Tworzenie aspektów z wykorzystaniem adnotacji 5.5.1. Co to jest AspectJ? 5.5.2. Konfiguracja 6. Spring Test 6.1. Konfiguracja 6.1.1. Zastosowanie XML 6.1.2. Zastosowanie adnotacji 6.2. Główne adnotacje 7
6.3. Integracja z JUnit 6.4. Integracja z TestNG 6.5. Obsługa transakcji 6.5.1. Aktywacja / Dezaktywacja transakcji 6.5.2. Commit / Rollback 6.5.3. Wsparcie dla "auto rollback" 6.6. Zastosowanie kontekstu webowego dla potrzeb testowania kontrolerów 6.7. Mock Ojects 6.8. Użyteczne narzędzia 8