SPIS TREŚCI
- Opinie o Springu w akcji. Wydanie IV
- Wprowadzenie
- Podziękowania
- O książce
- Dla kogo jest przeznaczona ta książka?
- W jaki sposób jest zorganizowana ta książka mapa drogowa
- Informacje o kodzie źródłowym
- Forum poświęcone książce
- Inne zasoby w internecie
- O autorze
- Część I Podstawy Springa
- Rozdział 1. Rozpoczęcie pracy ze Springiem
- 1.1. Czym jest Spring?
- 1.2. Inicjalizacja aplikacji Springa
- 1.2.1. Inicjalizacja projektu Springa za pomocą Spring Tool Suite
- 1.2.2. Analiza struktury projektu Springa
- Analiza pliku specyfikacji kompilacji
- Klasa początkowa aplikacji
- Testowanie aplikacji
- Inna nazwa menedżera testów
- 1.3. Utworzenie aplikacji Springa
- 1.3.1. Obsługa żądań internetowych
- Dlaczego Thymeleaf?
- 1.3.2. Definiowanie widoku
- 1.3.3. Testowanie kontrolera
- 1.3.4. Kompilacja i uruchomienie aplikacji
- 1.3.5. Poznajemy Spring Boot DevTools
- Automatyczne ponowne uruchamianie aplikacji
- Automatyczne odświeżenie przeglądarki WWW i wyłączenie bufora szablonu
- Wbudowana konsola H2
- 1.3.6. Przegląd
- 1.3.1. Obsługa żądań internetowych
- 1.4. Możliwości Springa
- 1.4.1. Podstawowy framework Spring
- 1.4.2. Spring Boot
- 1.4.3. Spring Data
- 1.4.4. Spring Security
- 1.4.5. Spring Integration i Spring Batch
- 1.4.6. Spring Cloud
- Podsumowanie
- Rozdział 2. Tworzenie aplikacji internetowej
- 2.1. Wyświetlanie informacji
- 2.1.1. Zdefiniowanie domeny
- 2.1.2. Utworzenie klasy kontrolera
- Obsługa żądania GET
- 2.1.3. Przygotowanie widoku
- 2.2. Przetwarzanie wysłanego formularza
- 2.3. Weryfikacja danych wyjściowych formularza
- 2.3.1. Deklarowanie reguł weryfikacji danych
- 2.3.2. Przeprowadzanie weryfikacji danych podczas ich pobierania z formularza
- 2.3.3. Wyświetlanie błędów operacji sprawdzania poprawności danych
- 2.4. Praca z kontrolerem widoku
- 2.5. Wybór biblioteki szablonów widoku
- 2.5.1. Buforowanie szablonów
- Podsumowanie
- 2.1. Wyświetlanie informacji
- Rozdział 3. Praca z danymi
- 3.1. Odczyt i zapis danych za pomocą JDBC
- 3.1.1. Przygotowanie domeny do obsługi trwałego magazynu danych
- 3.1.2. Praca z klasą JdbcTemplate
- Definiowanie repozytorium JDBC
- Wstawianie rekordu
- 3.1.3. Definiowanie schematu i wstępne przygotowanie danych
- 3.1.4. Wstawianie danych
- Zapisywanie danych za pomocą JdbcTemplate
- Wstawianie danych za pomocą SimpleJdbcInsert
- 3.2. Implementacja trwałego magazynu danych za pomocą Spring Data JPA
- 3.2.1. Dodawanie Spring Data JPA do projektu
- 3.2.2. Określenie domeny jako encji
- 3.2.3. Deklarowanie repozytoriów JPA
- 3.2.4. Dostosowanie do własnych potrzeb repozytoriów JPA
- Podsumowanie
- 3.1. Odczyt i zapis danych za pomocą JDBC
- Rozdział 4. Spring Security
- 4.1. Włączenie obsługi Spring Security
- 4.2. Konfigurowanie Spring Security
- 4.2.1. Istniejący w pamięci magazyn danych użytkownika
- 4.2.2. Magazyn danych użytkownika oparty na JDBC
- Nadpisywanie domyślnego użytkownika zapytań
- Praca z zaszyfrowanymi hasłami
- 4.2.3. Magazyn danych użytkownika oparty na LDAP
- Konfigurowanie operacji porównywania haseł
- Odwołanie do zdalnego serwera LDAP
- Konfigurowanie osadzonego serwera LDAP
- 4.2.4. Dostosowanie uwierzytelniania użytkownika do własnych potrzeb
- Definiowanie domeny użytkownika i trwałego magazynu danych
- Utworzenie usługi obsługującej szczegółowe informacje o użytkowniku
- Rejestrowanie użytkownika
- 4.3. Zabezpieczanie żądań internetowych
- 4.3.1. Zabezpieczanie żądań
- 4.3.2. Utworzenie własnej strony logowania
- 4.3.3. Wylogowanie
- 4.3.4. Ochrona przed atakami typu CSRF
- 4.4. Poznanie użytkownika
- Podsumowanie
- Rozdział 5. Praca z właściwościami konfiguracyjnymi
- 5.1. Dostosowanie konfiguracji automatycznej do własnych potrzeb
- 5.1.1. Poznajemy abstrakcję środowiska Springa
- 5.1.2. Konfigurowanie źródła danych
- 5.1.3. Konfigurowanie serwera osadzonego
- 5.1.4. Konfigurowanie rejestrowania danych
- 5.1.5. Używanie wartości właściwości specjalnych
- 5.2. Tworzenie własnych właściwości konfiguracyjnych
- 5.2.1. Definiowanie komponentów przechowujących właściwości konfiguracyjne
- 5.2.2. Deklarowanie metadanych właściwości konfiguracyjnej
- Szybkie rozwiązanie problemu dotyczącego brakujących metadanych
- 5.3. Konfigurowanie za pomocą profili
- 5.3.1. Definiowanie właściwości dla konkretnego profilu
- 5.3.2. Aktywowanie profilu
- 5.3.3. Warunkowe tworzenie komponentu bean z profilami
- Podsumowanie
- 5.1. Dostosowanie konfiguracji automatycznej do własnych potrzeb
- Rozdział 1. Rozpoczęcie pracy ze Springiem
- Część II Zintegrowany Spring
- Rozdział 6. Praca z właściwościami konfiguracyjnymi
- 6.1. Utworzenie kontrolerów RESTful
- 6.1.1. Pobieranie danych z serwera
- 6.1.2. Przekazywanie danych do serwera
- 6.1.3. Uaktualnienie danych w serwerze
- 6.1.4. Usuwanie danych z serwera
- 6.2. Włączenie obsługi hipermediów
- 6.2.1. Dodawanie hiperłączy
- 6.2.2. Utworzenie komponentu asemblera zasobu
- 6.2.3. Nazewnictwo osadzonych związków
- 6.3. Włączenie usług back-endu
- 6.3.1. Dostosowanie nazw ścieżek dostępu zasobów i relacji
- 6.3.2. Stronicowanie i sortowanie
- 6.3.3. Dodawanie własnych punktów końcowych
- 6.3.4. Dodawanie własnych hiperłączy do punktów końcowych Spring Data
- Podsumowanie
- 6.1. Utworzenie kontrolerów RESTful
- Rozdział 7. Używanie usług REST
- 7.1. Używanie punktów końcowych REST za pomocą RestTemplate
- 7.1.1. Pobieranie zasobu
- 7.1.2. Przekazywanie do serwera zasobów za pomocą metody HTTP PUT
- 7.1.3. Usuwanie zasobu
- 7.1.4. Przekazywanie do serwera zasobów za pomocą metody HTTP POST
- 7.2. Poruszanie się po API REST za pomocą Traverson
- Podsumowanie
- 7.1. Używanie punktów końcowych REST za pomocą RestTemplate
- Rozdział 8. Asynchroniczne wysyłanie komunikatów
- 8.1. Wysyłanie komunikatów za pomocą JMS
- 8.1.1. Konfigurowanie JMS
- 8.1.2. Wysyłanie komunikatów za pomocą JmsTemplate
- Konwertowanie komunikatu przed jego wysłaniem
- Konfigurowanie konwertera komunikatu
- Przetwarzanie komunikatu
- 8.1.3. Otrzymywanie komunikatów JMS
- Otrzymywanie komunikatów za pomocą JmsTemplate
- Deklarowanie komponentu nasłuchującego
- 8.2. Praca z RabbitMQ i AMQP
- 8.2.1. Dodawanie obsługi brokera RabbitMQ do Springa
- 8.2.2. Wysyłanie komunikatów za pomocą RabbitTemplate
- Konfigurowanie konwertera komunikatu
- Definiowanie właściwości komunikatu
- 8.2.3. Pobieranie komunikatu z RabbitMQ
- Otrzymywanie komunikatów za pomocą RabbitTemplate
- Obsługa komunikatów RabbitMQ za pomocą komponentu nasłuchującego
- 8.3. Obsługa komunikatów za pomocą Apache Kafki
- 8.3.1. Konfigurowanie Springa do obsługi komunikatów Kafki
- 8.3.2. Wysyłanie komunikatów za pomocą KafkaTemplate
- 8.3.3. Utworzenie komponentu nasłuchującego Kafki
- Podsumowanie
- 8.1. Wysyłanie komunikatów za pomocą JMS
- Rozdział 9. Integracja Springa
- 9.1. Deklarowanie prostego przepływu integracji
- 9.1.1. Definiowanie przepływu integracji za pomocą XML-a
- 9.1.2. Konfigurowanie przepływu integracji za pomocą Javy
- 9.1.3. Konfigurowanie Spring Integration za pomocą języka specjalizowanego
- 9.2. Poznajemy Spring Integration
- 9.2.1. Kanał komunikatu
- 9.2.2. Filtr
- 9.2.3. Przekształcenie
- 9.2.4. Router
- 9.2.5. Spliter
- 9.2.6. Aktywator usługi
- 9.2.7. Brama
- 9.2.8. Adapter kanału
- 9.2.9. Moduł punktu końcowego
- 9.3. Utworzenie własnego przepływu integracji dotyczącego poczty elektronicznej
- Podsumowanie
- 9.1. Deklarowanie prostego przepływu integracji
- Rozdział 6. Praca z właściwościami konfiguracyjnymi
- Część III Reaktywny Spring
- Rozdział 10. Wprowadzenie do projektu Reactor
- 10.1. Wprowadzenie do programowania reaktywnego
- 10.1.1. Definiowanie strumienia reaktywnego
- 10.2. Rozpoczęcie pracy z projektem Reactor
- 10.2.1. Wykres przepływu reaktywnego
- 10.2.2. Dodawanie zależności projektu Reactor
- 10.3. Najczęściej stosowane operacje reaktywne
- 10.3.1. Tworzenie typu reaktywnego
- Tworzenie typu reaktywnego na podstawie obiektu
- Tworzenie typu reaktywnego na podstawie kolekcji
- Generowanie danych strumienia
- 10.3.2. Łączenie typów reaktywnych
- Połączenie ze sobą typów reaktywnych
- Wybór pierwszego typu reaktywnego do publikacji
- 10.3.3. Przekształcanie i filtrowanie strumienia reaktywnego
- Filtrowanie danych pochodzących z typu reaktywnego
- Mapowanie danych reaktywnych
- Buforowanie danych strumienia reaktywnego
- 10.3.4. Przeprowadzanie operacji logicznej na typie reaktywnym
- 10.3.1. Tworzenie typu reaktywnego
- Podsumowanie
- 10.1. Wprowadzenie do programowania reaktywnego
- Rozdział 11. Tworzenie reaktywnego API
- 11.1. Praca z frameworkiem WebFlux w Springu
- 11.1.1. Wprowadzenie do Spring WebFlux
- Reaktywny Spring MVC?
- 11.1.2. Definiowanie kontrolera reaktywnego
- Zwrot pojedynczej wartości
- Praca z typami RxJava
- Reaktywna obsługa danych wejściowych
- 11.1.1. Wprowadzenie do Spring WebFlux
- 11.2. Definiowanie funkcyjnych procedur obsługi żądania
- 11.3. Testowanie kontrolera reaktywnego
- 11.3.1. Testowanie żądań HTTP GET
- 11.3.2. Testowanie żądań POST
- 11.3.3. Testowanie działającego serwera
- 11.4. Reaktywne używanie API REST
- 11.4.1. Pobieranie zasobów
- Wykonywanie żądań z bazowym adresem URI
- Zakończenie długo wykonywanego żądania
- 11.4.2. Przekazywanie zasobu
- 11.4.3. Usunięcie zasobu
- 11.4.4. Obsługa błędów
- 11.4.5. Wymiana żądań
- 11.4.1. Pobieranie zasobów
- 11.5. Zabezpieczanie API reaktywnego
- 11.5.1. Konfigurowanie zabezpieczeń reaktywnej aplikacji internetowej
- 11.5.2. Konfigurowanie reaktywnej usługi szczegółów związanych z użytkownikiem
- Podsumowanie
- 11.1. Praca z frameworkiem WebFlux w Springu
- Rozdział 12. Reaktywny trwały magazyn danych
- 12.1. Reaktywność i Spring Data
- 12.1.1. Reaktywny Spring Data
- 12.1.2. Konwersja między typem reaktywnym a niereaktywnym
- 12.1.3. Opracowanie repozytorium reaktywnego
- 12.2. Praca z reaktywnymi repozytoriami bazy danych Cassandra
- 12.2.1. Włączenie obsługi Spring Data Cassandra
- 12.2.2. Modelowanie danych w bazie danych Cassandra
- 12.2.3. Mapowanie typów domeny pod kątem przechowywania informacji w bazie danych Cassandra
- 12.2.4. Tworzenie reaktywnego repozytorium bazy danych Cassandra
- 12.3. Tworzenie reaktywnych repozytoriów MongoDB
- 12.3.1. Dodawanie obsługi Spring Data MongoDB
- 12.3.2. Mapowanie typu domeny na dokument MongoDB
- 12.3.3. Tworzenie interfejsów repozytoriów reaktywnych MongoDB
- Podsumowanie
- 12.1. Reaktywność i Spring Data
- Rozdział 10. Wprowadzenie do projektu Reactor
- Część IV Natywna chmura Springa
- Rozdział 13. Odkrywanie usług
- 13.1. Poznajemy mikrousługi
- 13.2. Konfiguracja rejestru usług
- Naga prawda o usłudze Eureka
- Dlaczego używany jest działający po stronie klienta mechanizm równoważenia obciążenia?
- 13.2.1. Konfigurowanie Eureki
- Określenie numeru portu serwera Eureka
- Wyłączenie trybu utrzymania egzemplarza
- 13.2.2. Skalowanie serwera Eureka
- Spring Cloud Services w środowisku produkcyjnym
- 13.3. Rejestrowanie i odkrywanie usług
- 13.3.1. Konfigurowanie właściwości klienta Eureki
- 13.3.2. Używanie usługi
- Używanie usługi za pomocą RestTemplate
- Używanie usług przez egzemplarz WebClient
- Definiowanie interfejsu klienta
- Podsumowanie
- Rozdział 14. Zarządzanie konfiguracją
- 14.1. Konfiguracja współdzielona
- 14.2. Uruchamianie serwera konfiguracji
- 14.2.1. Włączanie Config Server
- 14.2.2. Umieszczanie właściwości w repozytorium konfiguracyjnym
- Udostępnianie konfiguracji z podścieżek Gita
- Udostępnianie konfiguracji z gałęzi lub etykiety
- Uwierzytelnianie do używanego repozytorium Git
- 14.3. Używanie konfiguracji współdzielonej
- 14.4. Udostępnienie konfiguracji przeznaczonej dla konkretnej aplikacji i konkretnego profilu
- 14.4.1. Udostępnianie właściwości przeznaczonych dla konkretnej aplikacji
- 14.4.2. Udostępnianie właściwości z profili
- 14.5. Utajnienie właściwości konfiguracyjnych
- 14.5.1. Szyfrowanie właściwości w repozytorium Git
- 14.5.2. Przechowywanie danych wrażliwych w magazynie Vault
- Uruchomienie serwera Vault
- Zapisywanie danych wrażliwych w magazynie Vault
- Włączenie w Config Server obsługi magazynu Vault
- Definiowanie tokena Vaulta w kliencie Config Server
- Zapisywanie danych wrażliwych przeznaczonych dla konkretnej aplikacji i profilu
- 14.6. Odświeżanie właściwości konfiguracyjnych w locie
- 14.6.1. Ręczne odświeżanie właściwości konfiguracyjnych
- 14.6.2. Automatyczne odświeżanie właściwości konfiguracyjnych
- Utworzenie zaczepu
- Obsługa uaktualnień zaczepu w Config Server
- Utworzenie komponentu wyodrębniającego powiadomienie z serwisu Gogs
- Włączenie automatycznego odświeżania właściwości w klientach Config Server
- Podsumowanie
- Rozdział 15. Obsługa awarii i opóźnień
- 15.1. Wprowadzenie do wzorca bezpiecznika
- Kilka słów o nazwie biblioteki Hystrix
- 15.2. Deklarowanie bezpiecznika
- 15.2.1. Łagodzenie opóźnienia
- 15.2.2. Zarządzanie wartością graniczną bezpiecznika
- 15.3. Monitorowanie awarii
- 15.3.1. Wprowadzenie do panelu kontrolnego biblioteki Hystrix
- 15.3.2. Pula wątków biblioteki Hystrix
- 15.4. Agregowanie wielu strumieni biblioteki Hystrix
- Podsumowanie
- 15.1. Wprowadzenie do wzorca bezpiecznika
- Rozdział 13. Odkrywanie usług
- Część V Wdrażanie aplikacji Springa
- Rozdział 16. Praca ze Spring Boot Actuator
- 16.1. Wprowadzenie do Actuatora
- 16.1.1. Konfigurowanie bazowej ścieżki dostępu Actuatora
- 16.1.2. Włączanie i wyłączanie punktów końcowych Actuatora
- 16.2. Używanie punktów końcowych Actuatora
- 16.2.1. Pobieranie podstawowych informacji o aplikacji
- Informacje o aplikacji
- Informacje o stanie aplikacji
- 16.2.2. Wyświetlanie konfiguracji aplikacji
- Pobieranie informacji o komponencie bean
- Konfiguracja automatyczna
- Analiza właściwości środowiskowych i konfiguracyjnych
- Mapowanie żądań HTTP
- Zarządzanie poziomami rejestrowania danych
- 16.2.3. Wyświetlanie informacji o aktywności aplikacji
- Monitorowanie aktywności HTTP
- Monitorowanie wątków
- 16.2.4. Dane statystyczne dotyczące środowiska uruchomieniowego
- 16.2.1. Pobieranie podstawowych informacji o aplikacji
- 16.3. Dostosowanie Actuatora do własnych potrzeb
- 16.3.1. Dodawanie informacji dostarczanych później przez punkt końcowy /info
- Utworzenie własnej implementacji InfoContributor
- Wstrzykiwanie informacji do punktu końcowego /info
- Udostępnianie informacji o operacji przekazania plików do repozytorium Git
- 16.3.2. Definiowanie własnych wskaźników informacji o stanie aplikacji
- 16.3.3. Rejestrowanie niestandardowych danych statystycznych
- 16.3.4. Tworzenie własnego punktu końcowego
- 16.3.1. Dodawanie informacji dostarczanych później przez punkt końcowy /info
- 16.4. Zabezpieczanie Actuatora
- Podsumowanie
- 16.1. Wprowadzenie do Actuatora
- Rozdział 17. Administrowanie Springiem
- 17.1. Używanie Spring Boot Admin
- 17.1.1. Tworzenie serwera administracyjnego
- 17.1.2. Rejestrowanie klientów serwera administracyjnego
- Wyraźne konfigurowanie aplikacji jako klientów serwera administracyjnego
- Odkrywanie klientów serwera administracyjnego
- 17.2. Poznajemy serwer administracyjny
- 17.2.1. Wyświetlanie ogólnych informacji o stanie aplikacji
- 17.2.2. Obserwowanie kluczowych danych statystycznych
- 17.2.3. Analiza zmiennych środowiskowych
- 17.2.4. Wyświetlanie i zmiana poziomu rejestrowania danych
- 17.2.5. Monitorowanie wątków
- 17.2.6. Monitorowanie żądań HTTP
- 17.3. Zabezpieczanie serwera administracyjnego
- 17.3.1. Włączanie logowania w serwerze administracyjnym
- 17.3.2. Uwierzytelnianie z użyciem Actuatora
- Podsumowanie
- 17.1. Używanie Spring Boot Admin
- Rozdział 18. Monitorowanie Springa za pomocą JMX
- 18.1. Praca z Actuatorem i MBean
- 18.2. Tworzenie własnego komponentu MBean
- 18.3. Wysyłanie powiadomień
- Podsumowanie
- Rozdział 19. Wdrażanie aplikacji Springa
- 19.1. Opcje podczas wdrażania aplikacji
- 19.2. Kompilowanie i wdrażanie pliku WAR
- Mikrousługi w serwerze aplikacji?
- 19.3. Przekazanie pliku JAR do Cloud Foundry
- 19.4. Umieszczanie aplikacji Spring Boota w kontenerze Dockera
- 19.5. To nie koniec, ale dopiero początek
- Podsumowanie
- Rozdział 16. Praca ze Spring Boot Actuator
- Dodatki
- Dodatek A Tworzenie aplikacji Springa
- A.1. Inicjalizacja projektu za pomocą Spring Tool Suite
- A.2. Tworzenie projektu za pomocą IntelliJ IDEA
- A.3. Tworzenie projektu za pomocą NetBeans
- A.4. Inicjalizacja projektu na stronie start.spring.io
- A.5. Inicjalizacja projektu z poziomu powłoki
- A.5.1. Polecenie curl i API Initializr
- A.5.2. Interfejs powłoki dla Spring Boota
- A.6. Tworzenie aplikacji Springa za pomocą metaframeworka
- A.7. Kompilowanie i uruchamianie projektu
- Dodatek A Tworzenie aplikacji Springa
Opinie
Na razie nie ma opinii o produkcie.