pelna-wersja-java-tworzenie-aplikacji-sieciowych-za-pomoca-springa-hibernate-i-eclipse_javatw.pdf

(17834 KB) Pobierz
656488878 UNPDF
Java. Tworzenie aplikacji
sieciowych za pomoc¹
Springa, Hibernate i Eclipse
Autor: Anil Hemrajani
T³umaczenie: Konrad Rymczak,
Grzegorz Skorczyñski, Ewa Bucka
ISBN: 978-83-246-0682-5
Tytu³ orygina³u : Agile Java Development
Format: B5, stron: 352
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Tworzenie zaawansowanych projektów korporacyjnych w Javie
Poznaj sprawdzone metodologie i procesy
Naucz siê stosowaæ praktyczne technologie i narzêdzia
Twórz w Javie kompletne rozwi¹zania w optymalny sposób
Chcia³byœ tworzyæ rozbudowane aplikacje w jêzyku Java szybciej i w prostszy sposób?
Liczne narzêdzia i technologie budowania programów w Javie czêsto u³atwiaj¹ wykonywanie
niektórych zadañ, ale jednoczeœnie niepotrzebnie komplikuj¹ i wyd³u¿aj¹ proces
powstawania gotowych produktów. Jak dobraæ odpowiednie techniki i zastosowaæ
metodologiê, która usprawni i przyspieszy pracê? Niektórzy ju¿ to wiedz¹ — Ty te¿
mo¿esz skorzystaæ z ich doœwiadczeñ!
„Java. Tworzenie aplikacji sieciowych za pomoc¹ Spring, Hibernate i Eclipse” to
praktyczny poradnik opisuj¹cy wydajn¹ i sprawdzon¹ metodologiê szybkiego pisania
oprogramowania w jêzyku Java. Dziêki tej ksi¹¿ce poznasz techniki programowania
ekstremalnego oraz metodologii Agile i nauczysz siê stosowaæ je podczas pracy nad
programami. Dowiesz siê, jak zaprojektowaæ aplikacjê, przygotowaæ œrodowisko
i korzystaæ z wiersza poleceñ oraz proponowanego zestawu narzêdzi — platformy Spring,
mechanizmu odwzorowañ Hibernate i IDE Eclipse — co pozwoli Ci w prosty sposób u¿yæ
zaawansowanych rozwi¹zañ.
Techniki programowania ekstremalnego (XP)
Wprowadzenie do metodologii Agile
Korzystanie z platformy Spring
Utrwalanie obiektów za pomoc¹ Hibernate
Praca w IDE Eclipse
Debugowanie oprogramowania
Monitorowanie i profilowanie aplikacji
Refaktoryzacja kodu
Zwiêksz sw¹ wydajnoœæ dziêki zastosowaniu efektywnych procesów i narzêdzi do
tworzenia oprogramowania w jêzyku Java.
656488878.003.png 656488878.004.png 656488878.005.png 656488878.006.png 656488878.001.png
 
Spis treści
5
Przedmowa .................................................................................... 13
O autorze ....................................................................................... 17
Podziękowania ............................................................................... 19
Wstęp ............................................................................................ 23
Część I Wprowadzenie .............................................................. 31
Rozdział 1. Wstęp ............................................................................................ 33
Co jest omawiane w tym rozdziale? ................................................................................ 34
Technologie użyte w tej książce ...................................................................................... 34
Technologie uruchomieniowe ................................................................................... 36
Narzędzia programistyczne ....................................................................................... 38
Metodologie wytwarzania oprogramowania użyte w tej książce .................................... 42
Podsumowanie ................................................................................................................. 43
Rekomendowane źródła .................................................................................................. 43
Rozdział 2. Przykładowa aplikacja: Time Expression .......................................... 45
Co jest omawiane w tym rozdziale? ................................................................................ 46
Wymagania biznesowe .................................................................................................... 47
Metodologie wytwarzania oprogramowania ................................................................... 48
Informacje wstępne o XP i AMDD ........................................................................... 48
Etap badań ................................................................................................................. 50
Etap planowania ........................................................................................................ 51
Etap wydania a iteracje (etapowe wytwarzanie oprogramowania) ........................... 52
Zakres projektu .......................................................................................................... 52
Utrzymanie ................................................................................................................ 53
Stosujemy XP i AMDD w naszej przykładowej aplikacji .............................................. 53
Model domenowy ...................................................................................................... 53
Prototyp interfejsu użytkownika (UI) ....................................................................... 53
Scenopis .................................................................................................................... 57
Historie użytkownika ................................................................................................ 57
Plan wydań (i iteracji) ............................................................................................... 60
Słownik ...................................................................................................................... 61
Architektura tablicowa .............................................................................................. 62
656488878.002.png
6
Java. Tworzenie aplikacji sieciowych za pomocą Springa, Hibernate i Eclipse
Uwaga na temat oprogramowania Wiki .......................................................................... 63
Podsumowanie ................................................................................................................. 63
Rekomendowane źródła .................................................................................................. 64
Część II Tworzymy przykładową aplikację ................................... 65
Rozdział 3. Metodologie XP i AMDD ................................................................. 67
Co jest omawiane w tym rozdziale? ................................................................................ 68
Projektowanie i wybór artefaktów ................................................................................... 69
Diagram architektury ....................................................................................................... 70
Od historii użytkownika do projektu ............................................................................... 71
Analizujemy klasy przy pomocy kart CRC ..................................................................... 71
Mapa przepływu aplikacji (artefakt domowej roboty) .................................................... 73
Technika uzupełniająca ............................................................................................. 74
Rozszerzamy mapę przepływu aplikacji o kolumny CRUD ..................................... 74
UML — diagram klas ...................................................................................................... 74
Diagramy pakietów UML ................................................................................................ 76
Struktura katalogów ......................................................................................................... 77
Przykładowe nazwy plików ............................................................................................. 77
Wytwarzanie oprogramowania od początku do końca .................................................... 78
Testy akceptacyjne .......................................................................................................... 78
Logowanie ................................................................................................................. 79
Lista kart pracy .......................................................................................................... 79
Wprowadź godziny ................................................................................................... 79
Inne rozważania ............................................................................................................... 79
Podsumowanie ................................................................................................................. 80
Rekomendowane źródła .................................................................................................. 82
Rozdział 4. Konfiguracja środowiska: JDK, Ant i JUnit ....................................... 83
Co jest omawiane w tym rozdziale? ................................................................................ 84
Java Platform Standard Edition Development Kit (JDK) ............................................... 84
Struktura katalogów ......................................................................................................... 85
Ant ................................................................................................................................... 86
Prosty plik budujący .................................................................................................. 86
Złożony plik budujący ............................................................................................... 87
JUnit ................................................................................................................................. 90
Samodzielnie uruchomiony JUnit ............................................................................. 91
JUnit z poziomu Eclipse ............................................................................................ 92
SimpleTest: sprawiamy, że wszystkie narzędzia współpracują razem ............................ 92
SimpleTest.java ......................................................................................................... 93
Rodzaje metod assert w JUnit ................................................................................... 93
Uruchamiamy SimpleTest (pojedynczy test JUnit) .................................................. 94
Uruchamiamy testy JUnit jako zadanie Anta ............................................................ 95
Wstępne testy i refaktoryzacja ......................................................................................... 96
Podsumowanie ................................................................................................................. 97
Rekomendowane źródła .................................................................................................. 98
Rozdział 5. Hibernate — zapewniamy trwałość obiektów ................................... 99
Co jest omawiane w tym rozdziale? .............................................................................. 100
Zarys odwzorowania obiektowo-relacyjnego
(Object-Relational Mapping — ORM) ....................................................................... 101
Relacje i liczebność ................................................................................................. 102
Tożsamość obiektu .................................................................................................. 103
Kaskada ................................................................................................................... 103
Spis treści
7
Odwzorowanie ........................................................................................................ 103
Obiekty w pamięci kontra obiekty trwałe ............................................................... 104
Projekt naszej przykładowej bazy danych ..................................................................... 104
Denormalizacja ........................................................................................................ 104
Konwencje nazewnicze ........................................................................................... 105
Uwagi do projektowania bazy danych .................................................................... 106
Skrypt DDL ............................................................................................................. 106
Gdzie w naszej aplikacji znajduje się HSQLDB i Hibernate? ...................................... 107
HSQLDB ....................................................................................................................... 108
Serwer HSQLDB i przydatne zadania Anta ............................................................ 108
HSQLDB Database Manager i SqlTool .................................................................. 109
Tryby persistent i in-memory w HSQLDB ............................................................. 109
Dołączamy HSQLDB do archiwum naszej aplikacji .............................................. 110
Pracujemy z Hibernate ................................................................................................... 110
Nie potrzeba DAO ani DTO .................................................................................... 111
Obsługiwane bazy danych ....................................................................................... 111
Hibernate i EJB 3.x ................................................................................................. 111
Przykładowy test konfiguracji Hibernate ................................................................ 112
Instalacja Hibernate ................................................................................................. 115
Podstawy pracy z Hibernate .................................................................................... 117
Tworzymy TimesheetManager.java, korzystając z Hibernate ................................ 120
Employee.* i DepartmentManager.java .................................................................. 124
Pliki wymagane w ścieżce klas ............................................................................... 124
Uruchamiamy zestaw testów przy pomocy Anta .................................................... 124
Usuwamy rekordy ................................................................................................... 125
Interfejs Criteria ...................................................................................................... 125
Obsługa wyjątków ................................................................................................... 126
Pozostałe funkcje Hibernate .......................................................................................... 127
Asocjacje ................................................................................................................. 127
Blokowanie obiektów (kontrola współbieżności) ................................................... 127
Jeszcze więcej Hibernate ......................................................................................... 129
Podsumowanie ............................................................................................................... 129
Rekomendowane źródła ................................................................................................ 130
Rozdział 6. Wprowadzenie do Spring Framework ............................................. 133
Co jest omawiane w tym rozdziale? .............................................................................. 135
Czym jest Spring? .......................................................................................................... 135
Pakiety Springa służące do rozwijania aplikacji ........................................................... 136
Pakiety Springa służące do wdrażania aplikacji ............................................................ 137
Przegląd modułów Springa ............................................................................................ 138
Spring Core ............................................................................................................. 138
Spring Context ......................................................................................................... 138
Spring AOP ............................................................................................................. 138
Spring DAO ............................................................................................................. 138
Spring ORM ............................................................................................................ 140
Gdzie w naszej architekturze jest miejsce Spring Framework? .................................... 140
Korzyści płynące z użycia Springa ................................................................................ 141
Główne koncepcje Springa ............................................................................................ 142
Wzorzec wstrzykiwania zależności (i kontenery IoC) ............................................ 143
Dwa style wstrzykiwana .......................................................................................... 143
Bean, BeanFactory i ApplicationContext ................................................................ 144
Edytory właściwości ............................................................................................... 146
Podprojekty Springa ...................................................................................................... 146
Podsumowanie ............................................................................................................... 147
Rekomendowane źródła ................................................................................................ 147
8
Java. Tworzenie aplikacji sieciowych za pomocą Springa, Hibernate i Eclipse
Rozdział 7. Framework Spring Web MVC ........................................................ 149
Co jest omawiane w tym rozdziale? .............................................................................. 150
Zalety Spring MVC ....................................................................................................... 150
Pojęcia związane ze Spring Web MVC ......................................................................... 152
Spring MVC a Java ................................................................................................. 152
Konfiguracja Spring MVC ...................................................................................... 155
Konfiguracja Springa dla Time Expression ................................................................... 156
Instalowanie kontenera serwletów (Apache Tomcat) ............................................. 157
Instalowanie Spring Framework ............................................................................. 158
Uruchomienie SpringTest ....................................................................................... 159
Konfiguracja Spring MVC ...................................................................................... 159
Budowanie interfejsu użytkownika z pomocą Springa ................................................. 160
Ekran: Lista kart pracy ............................................................................................ 160
Ekran: Wprowadź godziny ...................................................................................... 161
Kaskadowe arkusze stylów (Cascading Style Sheets — CSS) ...................................... 162
Ekran: Lista kart pracy — przykład kontrolera bez formularza .................................... 163
Konfiguracja krok po kroku .................................................................................... 163
Kodowanie krok po kroku ....................................................................................... 164
Ekran: Wprowadź godziny — przykład kontrolera formularza .................................... 168
Konfiguracja krok po kroku .................................................................................... 168
Kodowanie krok po kroku ....................................................................................... 170
Wiązanie do niestandardowych (niebiznesowych) obiektów polecenia ................. 174
DateUtil.java ........................................................................................................... 175
Dyrektywy taglib w JSP .......................................................................................... 175
Widok bez kontrolera .................................................................................................... 175
Obiekty przechwytujące w Springu ............................................................................... 175
Uwierzytelnianie w Time Expression ..................................................................... 176
Nasza przykładowa aplikacja — pierwsze uruchomienie ............................................. 177
Nowe biblioteki znaczników w Spring Framework 2.0 ................................................ 177
Słowo o Spring Web Flow i Portlet API ....................................................................... 180
Spring Web Flow .................................................................................................... 180
Spring Portlet API ................................................................................................... 180
Podsumowanie ............................................................................................................... 181
Rekomendowane źródła ................................................................................................ 181
Rozdział 8. Fenomen środowiska Eclipse ........................................................ 183
Co jest omawiane w tym rozdziale? .............................................................................. 184
Fundacja Eclipse ............................................................................................................ 185
Eclipse — platforma i projekty ..................................................................................... 186
Koncepcje związane z Eclipse SDK .............................................................................. 188
Workspace — przestrzeń projektów ....................................................................... 189
Workbench — obszar roboczy, perspektywy, edytory i widoki ............................. 189
Projekt ..................................................................................................................... 191
Pluginy .................................................................................................................... 192
Kreatory ................................................................................................................... 192
Instalacja Eclipse ........................................................................................................... 192
Konfiguracja Eclipse na potrzeby Time Expression ..................................................... 195
Java Development Tools (JDT) — narzędzia programistyczne dla Javy ...................... 200
Instalacja pluginów WTP — zestawu narzędzi do rozwoju aplikacji sieciowych ........ 208
Praca z Eclipse — rozwijamy Time Expression ........................................................... 209
Wbudowane pluginy JDT ........................................................................................ 210
Plugin z kategorii Data (dla HSQLDB) .................................................................. 212
Pluginy do obsługi serwerów (dla Tomcata) ........................................................... 212
Plugin Hibernate ...................................................................................................... 214
Zgłoś jeśli naruszono regulamin