Spring Zapiski programisty.pdf

(374 KB) Pobierz
Spring. Zapiski programisty
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Spring. Zapiski
SPIS TREŒCI
programisty
KATALOG KSI¥¯EK
Autorzy: Bruce A. Tate, Justin Gehtland
T³umaczenie: Piotr Rajca
ISBN: 83-246-0336-0
Tytu³ orygina³u: Spring: A Developers Notebook
Format: B5, stron: 272
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Przyspiesz tworzenie aplikacji w Javie
Uproœæ okreœlanie zale¿noœci pomiêdzy klasami
Zastosuj narzêdzie Hibernate do usprawnienia komunikacji z bazami danych
Wykorzystaj mo¿liwoœci programowania aspektowego
Technologia J2EE mia³a w za³o¿eniu byæ prosta i szybka w u¿ytkowaniu. Praktyka
jednak okaza³a siê daleka od teorii. Mozolne tworzenie aplikacji wykorzystuj¹cych
dziesi¹tki interfejsów po³¹czonych wzajemnymi zale¿noœciami, setki deskryptorów
wdro¿enia oraz plików pomocniczych spowodowa³o, ¿e zaczêto poszukiwaæ rozwi¹zañ
alternatywnych. Jednym z nich okaza³ siê framework Spring, zyskuj¹cy coraz wiêksz¹
popularnoœæ wœród programistów Javy. Spring jest znacznie du¿o prostszy od wielu
alternatywnych rozwi¹zañ J2EE, znacznie u³atwia testowanie aplikacji, i pozwala na
usuwanie zale¿noœci z kodu oraz oddzielanie ich od serwera aplikacji. Spring umo¿liwia
równie¿ wykorzystanie programowania aspektowego.
Ksi¹¿ka „Spring. Zapiski programisty” to praktyczny przewodnik po mo¿liwoœciach
tego œrodowiska. Jeœli wolisz poznawaæ nowe zagadnienia w sposób praktyczny, a nie
wertuj¹c setki stron zape³nionych teoretycznymi wywodami, to ta ksi¹¿ka jest w³aœnie
dla Ciebie. Znajdziesz w niej omówienie zagadnieñ zwi¹zanych z samym Springiem,
wspó³pracuj¹cymi z nim narzêdziami i sposobami wykorzystania ich w procesie
tworzenia aplikacji J2EE — pocz¹wszy do graficznego interfejsu u¿ytkownika
i interfejsu sieciowego, a skoñczywszy na dostêpie do relacyjnych baz danych.
Tworzenie klas z zastosowaniem zale¿noœci
Budowanie interfejsu u¿ytkownika
Integrowanie JSF z frameworkiem Spring
Dostêp do baz danych za pomoc¹ JDBC
Odwzorowanie baz danych na obiekty za pomoc¹ Hibernaete
Obs³uga i zabezpieczanie transakcji
Wysy³anie i odbieranie wiadomoœci e-mail
Jeœli poszukujesz wydajniejszych metod tworzenia aplikacji J2EE, wykorzystaj
mo¿liwoœci frameworka Spring. Dziêki tej ksi¹¿ce poznasz je wszystkie.
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOŒCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
335784.009.png 335784.010.png 335784.011.png 335784.012.png
Spis treści
Przedmowa ............................................................................................ 5
Wstęp .................................................................................................... 9
Rozdział 1. Początki ............................................................................. 17
Tworzenie dwóch klas przy wykorzystaniu zależności ....................... 18
Stosowanie wstrzykiwania zależności ................................................ 23
Automatyzacja przykładu ................................................................... 28
Wstrzykiwanie zależności przy wykorzystaniu frameworka Spring ... 32
Tworzenie testu ................................................................................... 35
Rozdział 2. Tworzenie interfejsu użytkownika ..................................... 41
Konfiguracja Tomcata ......................................................................... 42
Tworzenie widoku przy wykorzystaniu Web MVC ............................. 46
Wzbogacanie aplikacji sieciowych ...................................................... 56
Testowanie .......................................................................................... 65
Rozdział 3. Integracja innych klientów ................................................ 69
Tworzenie interfejsu użytkownika w oparciu o framework Struts ....... 70
Stosowanie JSF wraz z frameworkiem Spring ....................................... 83
Integracja JSF z frameworkiem Spring ............................................... 92
Rozdział 4. Stosowanie JDBC ............................................................... 95
Konfiguracja bazy danych i utworzenie schematu .............................. 96
Stosowanie szablonów JDBC frameworka Spring .............................. 101
Wydzielanie często używanego kodu ................................................ 108
Stosowanie obiektów dostępowych .................................................... 110
Wykonywanie testów przy użyciu szkieletu EasyMock .................... 116
3
335784.001.png 335784.002.png
 
Rozdział 5. Odwzorowania obiektowo-relacyjne ................................ 121
Integracja frameworka iBATIS ..........................................................123
Stosowanie frameworka Spring z JDO ...............................................134
Stosowanie frameworków Hibernate oraz Spring ..............................142
Testowanie ........................................................................................150
Rozdział 6. Usługi i AOP ..................................................................... 151
Tworzenie usługi ...............................................................................152
Konfiguracja usługi ...........................................................................159
Stosowanie automatycznych obiektów pośredniczących ....................164
Porady operujące na wyjątkach .........................................................167
Testowanie usługi przy wykorzystaniu obiektów zastępczych ..........170
Testowanie usługi mającej efekty uboczne ........................................174
Rozdział 7. Transakcje i bezpieczeństwo ........................................... 177
Programowa obsługa transakcji ........................................................178
Konfiguracja prostych transakcji .......................................................182
Transakcje obejmujące kilka baz danych ..........................................184
Zabezpieczenie serwletów aplikacji ...................................................190
Zabezpieczanie metod aplikacji .........................................................200
Tworzenie obiektu przechwytującego ułatwiającego testowanie ........206
Rozdział 8. Obsługa wiadomości i praca zdalna ................................ 211
Wysyłanie wiadomości poczty elektronicznej ....................................212
Praca zdalna .....................................................................................216
Stosowanie JMS .................................................................................219
Testowanie aplikacji JMS ..................................................................224
Rozdział 9. Tworzenie grubych klientów ............................................ 229
Zaczynamy pracę ..............................................................................229
Tworzenie widoku BikeNavigator ......................................................244
Tworzenie formularzy edytora rowerów ...........................................249
Skorowidz ......................................................................................... 259
4
Spis treści
335784.003.png 335784.004.png
 
ROZDZIAŁ 1.
Początki
W tym rozdziale:
Tworzenie dwóch klas przy wykorzystaniu zależności
Stosowanie wstrzykiwania zależności
Automatyzacja przykładu
Wstrzykiwanie zależności przy wykorzystaniu frameworka Spring
Tworzenie testu
W weekendy z wielkim zapałem oddaję się sportom ekstremalnym. We-
dług standardów właściwych dla osób przeciętnych, robiłem na rowerze
górskim naprawdę zwariowane rzeczy, a oprócz tego uwielbiam kaja-
karstwo górskie. Tylko raz znalazłem się w poważnych kłopotach. Spływa-
łem na rzece o nazwie Piedra, na której byłem po raz pierwszy, w nowym
sprzęcie i z głową naładowaną nowymi technikami. W kajakarstwie
górskim przeżycie zależy od zachowania prostoty i szybkości, a ja byłem
niepewny i wolny. Zamiast atakować rzekę, to ona zaatakowała mnie;
przepłynąłem przez trzy bystrza klasy IV i naprawdę miałem szczęście,
że wyszedłem z tego bez żadnych obrażeń.
Szybkość i prostota ma równie duże znaczenie w przypadku tworzenia
oprogramowania. Spring Framework daje mi jedno i drugie. Kupiłeś tę
książkę, więc zapewne zgadzasz się z tym stwierdzeniem. Spring, choć
jest prosty, ma bardzo duże możliwości. Ogromne. Spring pozwoli Ci na pi-
sanie aplikacji o architekturze warstwowej, w której poszczególne warstwy
17
335784.005.png 335784.006.png
 
będę wyraźnie od siebie oddzielone. Spring sprawia, że będziesz mógł
testować tworzony kod w tak prosty i przejrzysty sposób, o jakim wcze-
śniej nawet nie mogłeś marzyć. W niniejszym rozdziale stworzysz pro-
stą aplikację, zautomatyzujesz proces jej kompilacji i przystosujesz ją do
korzystania z frameworka Spring.
Spring jest najpopu-
larniejszym produk-
tem z nowej grupy
tak zwanych
lekkich kontenerów.
Jeśli uwzględnimy
wszystkie wchodzą-
ce w jego skład mo-
duły, to się okaże,
że Spring nie jest aż
taki „lekki”, jednak
w tym przypadku
określenie to odnosi
się do tego wszyst-
kiego, co zazwyczaj
trzeba dodawać do
kodu umieszczanego
i wykonywanego
w kontenerze.
Tworzenie dwóch klas
przy wykorzystaniu zależności
Wielu nauczycieli i konsultantów pisze o zależnościach jako o czymś, co
można by porównać do majonezu zbyt długo pozostawionego na słońcu.
Jednak jeśli tworzona aplikacja ma robić cokolwiek interesującego, to za-
leżności muszą się w niej pojawić. Cała sztuka polega na tym, by ziden-
tyfikować ważne zależności i obsłużyć je w odpowiedni sposób. Sposób,
w jaki rozwiążesz zależności, będzie mieć znaczący wpływ na łatwość
utrzymania aplikacji, jej rozbudowy oraz testowania. Podczas lektury
niniejszej książki napiszesz system rezerwacji rowerów górskich. Sklep
sportowy mógłby korzystać z takiego systemu do rezerwacji i wypożyczania
rowerów. Zaczniemy od najprostszych rozwiązań, w których wszystkie
zależności będą określone na stałe w kodzie; w ten sposób będziemy mogli
się upewnić, że używana infrastruktura działa poprawnie. Następnie roz-
luźnimy powiązania za pomocą frameworka Spring i stopniowo będzie-
my dodawać do naszej aplikacji trwałość, warstwę prezentacji sieciowej,
deklaratywne transakcje i kilka innych usług.
Dla mnie tworzenie przy wykorzystaniu frameworka Spring ma charakter
iteracyjny. Najbliższych kilka ćwiczeń jest poświęconych powolnemu
przygotowywaniu infrastruktury. W pierwszym upewnimy się, że dys-
ponujemy poprawnie skonfigurowanym oraz działającym środowiskiem
Javy i zaczniemy tworzyć podstawowy model aplikacji. Każdy z kilku
pierwszych przykładów jest poświęcony niewielkiemu fragmentowi śro-
dowiska, co ułatwi nam rozwiązywanie ewentualnych problemów, gdyby
jakieś się pojawiły.
18
Rozdział 1: Początki
335784.007.png 335784.008.png
 
Zgłoś jeśli naruszono regulamin