Table of contents : Spis treści......Page 2 1.2. Konfigurowanie ziaren w kontenerze IoC......Page 0 Podziękowania......Page 9 Dla kogo przeznaczona jest ta książka?......Page 11 Struktura książki......Page 12 Kontakt z autorami......Page 13 1.3. Tworzenie ziaren za pomocą konstruktora......Page 26 1.4. Wybieranie konstruktora w przypadku wieloznaczności......Page 29 1.5. Podawanie referencji do ziaren......Page 31 1.6. Określanie typu danych elementów kolekcji......Page 35 1.7. Tworzenie ziaren za pomocą interfejsu FactoryBean Springa......Page 37 1.8. Definiowanie kolekcji za pomocą ziaren fabrycznych i schematu util......Page 39 1.9. Sprawdzanie właściwości na podstawie zależności......Page 41 1.10. Sprawdzanie właściwości z adnotacją @Required......Page 43 1.11. Automatyczne łączenie ziaren za pomocą konfiguracji w pliku XML......Page 45 1.12. Automatyczne łączenie ziaren z adnotacjami @Autowired i @Resource......Page 49 1.13. Dziedziczenie konfiguracji ziarna......Page 54 1.14. Skanowanie komponentów z parametru classpath......Page 57 Podsumowanie......Page 62 2.1. Tworzenie ziaren za pomocą statycznych metod fabrycznych......Page 63 2.2. Tworzenie ziaren za pomocą fabrycznej metody egzemplarza......Page 64 2.3. Deklarowanie ziaren na podstawie pól statycznych......Page 66 2.4. Deklarowanie ziaren na podstawie właściwości obiektów......Page 67 2.5. Używanie języka wyrażeń dostępnego w Springu......Page 69 2.6. Ustawianie zasięgu ziarna......Page 74 2.7. Modyfikowanie procesu inicjowania i usuwania ziaren......Page 76 2.8. Skracanie konfiguracji w XML-u za pomocą projektu Java Config......Page 80 2.9. Ziarna znające zasoby kontenera......Page 84 2.10. Wczytywanie zasobów zewnętrznych......Page 85 2.11. Tworzenie postprocesorów ziaren......Page 88 2.12. Zewnętrzne przechowywanie konfiguracji ziarna......Page 91 2.13. Określanie komunikatów tekstowych......Page 92 2.14. Komunikowanie się ze zdarzeniami aplikacji......Page 94 2.15. Rejestrowanie edytorów właściwości w Springu......Page 97 2.16. Tworzenie niestandardowych edytorów właściwości......Page 100 2.17. Obsługa współbieżności za pomocą interfejsu TaskExecutor......Page 101 Podsumowanie......Page 109 Rozdział 3. Programowanie aspektowe i obsługa języka AspectJ w Springu......Page 111 3.1. Włączanie obsługi adnotacji języka AspectJ w Springu......Page 112 3.2. Deklarowanie aspektów za pomocą adnotacji języka AspectJ......Page 114 3.3. Dostęp do informacji o punkcie złączenia......Page 119 3.4. Określanie pierwszeństwa aspektów......Page 120 3.5. Ponowne wykorzystanie definicji punktu przecięcia......Page 122 3.6. Pisanie wyrażeń z punktami przecięcia w języku AspectJ......Page 124 3.7. Dodawanie operacji do ziaren......Page 128 3.8. Dodawanie stanu do ziarna......Page 130 3.9. Deklarowanie aspektów za pomocą konfiguracji w XML-u......Page 132 3.10. Wplatanie aspektów języka AspectJ w Springu w czasie ładowania......Page 135 3.11. Konfigurowanie w Springu aspektów języka AspectJ......Page 140 3.12. Wstrzykiwanie ziaren Springa do obiektów domenowych......Page 141 Podsumowanie......Page 144 4.1. Implementowanie ziaren za pomocą języków skryptowych......Page 145 4.2. Wstrzykiwanie ziaren Springa do skryptów......Page 149 4.3. Aktualizowanie ziaren ze skryptów......Page 152 4.4. Wewnątrzwierszowe definiowanie kodu źródłowego skryptów......Page 153 Podsumowanie......Page 154 5.1. Zabezpieczanie dostępu do adresów URL......Page 155 5.2. Logowanie się do aplikacji sieciowych......Page 164 5.3. Uwierzytelnianie użytkowników......Page 168 5.4. Podejmowanie decyzji z zakresu kontroli dostępu......Page 177 5.5. Zabezpieczanie wywołań metod......Page 180 5.6. Obsługa zabezpieczeń w widokach......Page 182 5.7. Zabezpieczanie obiektów domenowych......Page 184 Podsumowanie......Page 192 Rozdział 6. Integrowanie Springa z innymi platformami do tworzenia aplikacji sieciowych......Page 195 6.1. Dostęp do Springa w dowolnych aplikacjach sieciowych......Page 196 6.2. Używanie Springa w serwletach i filtrach......Page 200 6.3. Integrowanie Springa z platformą Struts 1.x......Page 204 6.4. Integrowanie Springa z platformą JSF......Page 210 6.5. Integrowanie Springa z platformą DWR......Page 215 Podsumowanie......Page 219 7.1. Zarządzanie prostym przepływem sterowania za pomocą platformy Spring Web Flow......Page 221 7.2. Modelowanie przepływów sterowania za pomocą różnych rodzajów stanów......Page 228 7.3. Zabezpieczanie przepływów sterowania w aplikacjach sieciowych......Page 239 7.4. Utrwalanie obiektów w przepływach sterowania w aplikacjach sieciowych......Page 241 7.5. Integrowanie platformy Spring Web Flow z technologią JSF......Page 247 7.6. Korzystanie z platformy RichFaces w platformie Spring Web Flow......Page 254 Podsumowanie......Page 258 8.1. Tworzenie prostej aplikacji sieciowej za pomocą platformy Spring MVC......Page 259 8.2. Wiązanie żądań za pomocą adnotacji @RequestMapping......Page 270 8.3. Przechwytywanie żądań przy użyciu interceptorów przetwarzania......Page 274 8.4. Określanie ustawień regionalnych użytkowników......Page 277 8.5. Pliki zewnętrzne z tekstem dostosowanym do ustawień regionalnych......Page 279 8.6. Określanie widoków na podstawie nazw......Page 281 8.7. Widoki i negocjowanie treści......Page 283 8.8. Wiązanie wyjątków z widokami......Page 286 8.9. Przypisywanie wartości w kontrolerze za pomocą adnotacji @Value......Page 288 8.10. Obsługiwanie formularzy za pomocą kontrolerów......Page 289 8.11. Obsługa wielu formularzy za pomocą kontrolerów formularzy kreatora......Page 302 8.12. Sprawdzanie poprawności ziaren za pomocą adnotacji (na podstawie standardu JSR-303)......Page 311 8.13. Tworzenie widoków w formatach XLS i PDF......Page 313 Podsumowanie......Page 319 9.1. Publikowanie usług typu REST w Springu......Page 321 9.2. Dostęp do usług typu REST w Springu......Page 325 9.3. Publikowanie danych z kanałów informacyjnych RSS i Atom......Page 330 9.4. Publikowanie danych w formacie JSON w usługach typu REST......Page 337 9.5. Dostęp do usług typu REST zwracających skomplikowane odpowiedzi w formacie XML......Page 340 Podsumowanie......Page 348 Rozdział 10. Spring i Flex......Page 349 10.1. Wprowadzenie do środowiska Flex......Page 351 10.2. Poza piaskownicę......Page 356 10.3. Dodawanie obsługi narzędzia Spring BlazeDS Integration do aplikacji......Page 366 10.4. Udostępnianie usług za pomocą technologii BlazeDS i Springa......Page 370 10.5. Używanie obiektów działających po stronie serwera......Page 376 10.6. Korzystanie z usług opartych na komunikatach w narzędziach BlazeDS i Spring......Page 379 10.7. Wstrzykiwanie zależności w kliencie w ActionScripcie......Page 390 Podsumowanie......Page 394 11.1. Pobieranie i instalowanie platformy Grails......Page 395 11.2. Tworzenie aplikacji za pomocą platformy Grails......Page 396 11.3. Wtyczki platformy Grails......Page 400 11.4. Środowisko rozwojowe, produkcyjne i testowe w platformie Grails......Page 402 11.5. Tworzenie klas domenowych aplikacji......Page 404 11.6. Generowanie kontrolerów CRUD i widoków na potrzeby klas domenowych aplikacji......Page 406 z umiędzynarodawianiem komunikatów......Page 409 11.8. Zmienianie systemu pamięci trwałej......Page 412 11.9. Rejestrowanie danych wyjściowych......Page 414 11.10. Przeprowadzanie testów jednostkowych i integracyjnych......Page 416 i szablonów......Page 421 11.12. Zapytania GORM......Page 424 11.13. Tworzenie niestandardowych znaczników......Page 426 Podsumowanie......Page 428 Rozdział 12. Spring Roo......Page 429 12.1. Konfigurowanie środowiska programistycznego pod kątem narzędzia Spring Roo......Page 431 12.2. Tworzenie pierwszego projektu opartego na narzędziu Roo......Page 433 12.3. Importowanie istniejących projektów do środowiska STS......Page 438 12.4. Szybsze budowanie lepszych aplikacji......Page 440 12.5. Usuwanie Roo z projektu......Page 446 Podsumowanie......Page 448 Rozdział 13. Testy w Springu......Page 449 13.1. Tworzenie testów za pomocą platform JUnit i TestNG......Page 450 13.2. Tworzenie testów jednostkowych i testów integracyjnych......Page 455 13.3. Testy jednostkowe kontrolerów platformy Spring MVC......Page 463 13.4. Zarządzanie kontekstem aplikacji w testach integracyjnych......Page 464 13.5. Wstrzykiwanie konfiguracji testów w testach integracyjnych......Page 470 13.6. Zarządzanie transakcjami w testach integracyjnych......Page 474 13.7. Dostęp do bazy danych w testach integracyjnych......Page 479 13.8. Stosowanie w Springu standardowych adnotacji związanych z testami......Page 483 Podsumowanie......Page 485 14.1. Tworzenie prostego portletu za pomocą platformy Spring Portlet MVC......Page 487 14.2. Wiązanie żądań kierowanych do portletów z metodami obsługi......Page 495 14.3. Obsługa formularzy z portletów za pomocą prostych kontrolerów formularzy......Page 502 Podsumowanie......Page 509 Rozdział 15. Dostęp do danych......Page 511 Problemy z bezpośrednim korzystaniem z JDBC......Page 512 15.1. Używanie szablonu JDBC do aktualizowania bazy danych......Page 518 15.2. Używanie szablonów JDBC do pobierania danych z bazy......Page 522 15.3. Upraszczanie tworzenia szablonów JDBC......Page 527 15.4. Używanie prostego szablonu JDBC w Javie 1.5......Page 529 15.5. Stosowanie nazwanych parametrów w szablonach JDBC......Page 532 15.6. Obsługa wyjątków w platformie Spring JDBC......Page 534 15.7. Problemy z bezpośrednim używaniem platform do tworzenia odwzorowań ORM......Page 539 15.8. Konfigurowanie fabryk zasobów ORM w Springu......Page 548 15.9. Utrwalanie obiektów za pomocą szablonów ORM Springa......Page 554 15.10. Utrwalanie obiektów za pomocą sesji kontekstowych platformy Hibernate......Page 559 wstrzykiwania kontekstu w JPA......Page 562 Podsumowanie......Page 565 Rozdział 16. Zarządzanie transakcjami w Springu......Page 567 16.1. Problemy z zarządzaniem transakcjami......Page 568 16.2. Jak wybrać implementację menedżera transakcji?......Page 573 16.3. Programowe zarządzanie transakcjami za pomocą interfejsu menedżera transakcji......Page 575 16.4. Programowe zarządzanie transakcjami za pomocą szablonu transakcji......Page 577 16.5. Deklaratywne zarządzanie transakcjami za pomocą rad transakcji......Page 580 16.6. Deklaratywne zarządzanie transakcjami za pomocą adnotacji @Transactional......Page 582 16.7. Ustawianie atrybutu propagation transakcji......Page 583 16.8. Ustawianie atrybutu określającego poziom izolacji transakcji......Page 588 wycofywania transakcji......Page 594 czasu i trybem tylko do odczytu......Page 596 16.11. Zarządzanie transakcjami za pomocą wplatania w czasie ładowania......Page 597 Podsumowanie......Page 600 17.1. Udostępnianie i wywoływanie usług za pomocą technologii RMI......Page 601 17.2. Tworzenie komponentów EJB 2.x za pomocą Springa......Page 605 17.3. Dostęp do dawnych komponentów EJB 2.x w Springu......Page 610 17.4. Tworzenie komponentów EJB 3.0 w Springu......Page 613 17.5. Dostęp do komponentów EJB 3.0 w Springu......Page 615 17.6. Udostępnianie i wywoływanie usług za pomocą protokołu HTTP......Page 617 sieciowych SOAP......Page 620 za pomocą JAX-WS......Page 622 17.9. Definiowanie kontraktu usługi sieciowej......Page 628 17.10. Implementowanie usług sieciowych za pomocą platformy Spring-WS......Page 632 17.11. Wywoływanie usług sieciowych za pomocą platformy Spring-WS......Page 637 17.12. Tworzenie usług sieciowych za pomocą serializowania dokumentów XML......Page 640 17.13. Tworzenie punktów końcowych usług za pomocą adnotacji......Page 645 Podsumowanie......Page 647 MBeans technologii JMX......Page 649 18.2. Publikowanie i odbieranie powiadomień JMX......Page 659 18.3. Dostęp do zdalnych ziaren MBeans technologii JMX w Springu......Page 661 18.4. Wysyłanie e-maili za pomocą dostępnej w Springu obsługi poczty elektronicznej......Page 664 18.5. Planowanie zadań za pomocą dostępnej w Springu obsługi Quartza......Page 671 18.6. Planowanie zadań za pomocą przestrzeni nazw Scheduling ze Springa 3.0......Page 675 Podsumowanie......Page 678 Rozdział 19. Komunikaty......Page 679 19.1. Wysyłanie i pobieranie komunikatów JMS w Springu......Page 680 19.2. Przekształcanie komunikatów JMS......Page 690 19.3. Zarządzanie transakcjami JMS......Page 692 19.4. Tworzenie w Springu obiektów POJO sterowanych komunikatami......Page 693 19.5. Nawiązywanie połączeń......Page 698 Podsumowanie......Page 700 Rozdział 20. Platforma Spring Integration......Page 701 20.1. Integrowanie jednego systemu z innym za pomocą EAI......Page 702 20.2. Integrowanie dwóch systemów za pomocą technologii JMS......Page 704 20.3. Wyszukiwanie informacji o kontekście w komunikatach platformy Spring Integration......Page 708 za pomocą systemu plików......Page 710 20.5. Przekształcanie komunikatów z jednego typu na inny......Page 712 20.6. Obsługa błędów za pomocą platformy Spring Integration......Page 715 20.7. Rozdzielanie operacji w integrowanych mechanizmach — rozdzielacze i agregatory......Page 718 za pomocą komponentu router......Page 721 20.9. Dostosowywanie zewnętrznych systemów do magistrali......Page 722 20.10. Podział zdarzeń na etapy za pomocą projektu Spring Batch......Page 731 20.11. Używanie bram......Page 732 Podsumowanie......Page 737 Rozdział 21. Platforma Spring Batch......Page 739 21.1. Konfigurowanie infrastruktury platformy Spring Batch......Page 741 21.2. Odczyt i zapis......Page 744 interfejsów ItemWriter i ItemReader......Page 748 21.4. Przetwarzanie danych wejściowych przed ich zapisaniem......Page 750 21.5. Łatwiejsza praca dzięki transakcjom......Page 753 21.6. Ponawianie prób......Page 754 21.7. Kontrolowanie wykonywania kroków......Page 757 21.8. Uruchamianie zadania......Page 761 21.9. Parametry w zadaniach......Page 764 Podsumowanie......Page 766 Rozdział 22. Przetwarzanie rozproszone w Springu......Page 767 22.1. Przechowywanie stanu obiektów w klastrach za pomocą narzędzia Terracotta......Page 769 22.2. Przetwarzanie w gridzie......Page 777 22.3. Równoważenie obciążenia przy wykonywaniu metody......Page 779 22.4. Przetwarzanie równoległe......Page 782 z narzędzia GridGain......Page 784 Podsumowanie......Page 788 Rozdział 23. Spring i jBPM......Page 789 Procesy w oprogramowaniu......Page 790 23.1. Modele przepływu pracy......Page 792 23.2. Instalowanie systemu jBPM......Page 794 23.3. Integrowanie systemu jBPM 4 ze Springiem......Page 796 23.4. Tworzenie usług za pomocą Springa......Page 801 23.5. Tworzenie procesu biznesowego......Page 804 Podsumowanie......Page 806 Rozdział 24. Spring i OSGi......Page 807 24.1. Początki pracy z OSGi......Page 808 24.2. Wprowadzenie do korzystania z platformy Spring Dynamic Modules......Page 813 24.3. Eksportowanie usług za pomocą platformy Spring Dynamic Modules......Page 817 24.4. Wyszukiwanie konkretnych usług w rejestrze OSGi......Page 820 24.5. Publikowanie usług zgodnych z wieloma interfejsami......Page 822 Spring Dynamic Modules......Page 823 24.7. Używanie serwera dm Server firmy SpringSource......Page 824 24.8. Narzędzia firmy SpringSource......Page 826 Podsumowanie......Page 827 Skorowidz......Page 829