Spring Framework Wprowadzenie do tworzenia aplikacji Wydanie II.pdf

(1988 KB) Pobierz
Tytuł oryginału: Getting started with Spring Framework
Tłumaczenie: Robert Górczyński
ISBN: 978-83-283-0929-6
Projekt okładki: Studio Gravite / Olsztyn; Obarek, Pokoński, Pazdrijowski, Zaprucki
Materiały graficzne na okładce zostały wykorzystane za zgodą Shutterstock Images LLC.
© Jyotsna Sharma, Ashish Sarin 2015.
Polish edition copyright © 2015 by Helion S.A.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/spfrwp
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/spfrwp.zip
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
Wprowadzenie
..................................................................................................... 15
Rozdzia 1.
Wprowadzenie do frameworku Spring ............................................ 17
1.1. Wprowadzenie .......................................................................................................................... 17
1.2. Moduły frameworku Spring .................................................................................................... 17
1.3. Kontener IoC ............................................................................................................................. 18
1.4. Zalety stosowania frameworku Spring .................................................................................. 21
Spójne podejście w zakresie zarządzania transakcjami lokalnymi i globalnymi .................. 21
Deklaracyjne zarządzanie transakcjami ....................................................................................... 23
Zapewnienie bezpieczeństwa ......................................................................................................... 24
JMX (Java Management Extensions) ........................................................................................... 24
JMS (Java Message Service) ............................................................................................................ 26
Buforowanie ...................................................................................................................................... 27
1.5. Prosta aplikacja Springa ........................................................................................................... 28
Identyfikacja obiektów aplikacji i ich zależności ....................................................................... 28
Utworzenie klas POJO odpowiadających zidentyfikowanym obiektom aplikacji .............. 29
Utworzenie metadanych konfiguracyjnych ................................................................................ 30
Utworzenie egzemplarza kontenera Springa .............................................................................. 35
Uzyskanie dostępu do obiektów aplikacji z poziomu egzemplarza kontenera Springa ......... 36
1.6. Frameworki zbudowane na bazie Springa ............................................................................ 37
1.7. Podsumowanie .......................................................................................................................... 38
Rozdzia 2.
Podstawy frameworku Spring .......................................................... 39
2.1. Wprowadzenie .......................................................................................................................... 39
2.2. Reguła projektowa o nazwie „podejście oparte na programowaniu interfejsów” ........... 39
Scenariusz: klasa zależna zawiera odwołanie do konkretnej klasy zależności ...................... 39
Scenariusz: klasa zależna zawiera odwołanie
do interfejsu implementowanego przez zależność ................................................................... 40
Oferowana przez Spring obsługa podejścia opartego na programowaniu interfejsu ......... 42
2.3. Różne podejścia podczas tworzenia komponentów Springa .............................................. 44
Utworzenie komponentu za pomocą statycznej metody fabryki ........................................... 44
Tworzenie komponentu za pomocą metody fabryki egzemplarza ........................................ 46
Kup książkę
Poleć książkę
6
Spring Framework
2.4. Techniki wstrzykiwania zależności ........................................................................................ 47
Wstrzykiwanie zależności za pomocą metody typu setter ....................................................... 47
Wstrzykiwanie zależności za pomocą argumentów konstruktora ......................................... 51
2.5. Zasięg komponentu .................................................................................................................. 54
Singleton ............................................................................................................................................ 55
Prototyp ............................................................................................................................................. 63
Wybór właściwego zasięgu dla komponentu ............................................................................. 64
2.6. Podsumowanie .......................................................................................................................... 64
Rozdzia 3.
Konfiguracja komponentów .............................................................65
3.1. Wprowadzenie .......................................................................................................................... 65
3.2. Dziedziczenie definicji komponentu ..................................................................................... 65
Przykład dziedziczenia definicji komponentu w aplikacji MyBank ...................................... 65
Co jest dziedziczone? ....................................................................................................................... 68
3.3. Dopasowanie argumentu konstruktora ................................................................................. 73
Przekazywanie wartości i odwołań do komponentów za pomocą elementu
<constructor-arg> ............................................................................................................................ 73
Dopasowanie argumentu konstruktora na podstawie typu .................................................... 74
Dopasowanie argumentu konstruktora na podstawie nazwy argumentu ............................ 79
3.4. Konfiguracja różnego typu właściwości komponentu i argumentów konstruktora .......... 82
Wbudowane edytory właściwości ................................................................................................. 83
Określanie wartości dla różnych typów kolekcji ........................................................................ 86
Definiowanie wartości dla tablic ................................................................................................... 92
Domyślne implementacje kolekcji dla elementów <list>, <set> i <map> ............................ 92
3.5. Wbudowane edytory właściwości .......................................................................................... 93
Edytor CustomCollectionEditor ................................................................................................... 93
Edytor CustomMapEditor ............................................................................................................. 96
Edytor CustomDateEditor ............................................................................................................. 96
3.6. Rejestracja edytorów właściwości w kontenerze Springa .................................................... 97
Utworzenie implementacji PropertyEditorRegistrar ................................................................ 97
Konfiguracja klasy CustomEditorConfigurer ............................................................................ 98
3.7. Zwięzłe definicje komponentów dzięki użyciu przestrzeni nazw p oraz c ....................... 99
Przestrzeń nazw p ............................................................................................................................ 99
Przestrzeń nazw c ........................................................................................................................... 100
Kup książkę
Poleć książkę
Spis tre ci
7
3.8. Schemat util .............................................................................................................................103
Element <list> ................................................................................................................................. 104
Element <map> .............................................................................................................................. 105
Element <set> ................................................................................................................................. 107
Element <properties> ................................................................................................................... 109
Element <constant> ...................................................................................................................... 110
Element <property-path> ............................................................................................................ 111
3.9. Interfejs FactoryBean .............................................................................................................113
Aplikacja MyBank — przechowywanie zdarzeń w bazie danych ......................................... 113
Aplikacja MyBank — przykład użycia interfejsu FactoryBean ............................................. 115
Uzyskanie dostępu do egzemplarza FactoryBean .................................................................... 118
3.10. Podsumowanie ........................................................................................................................120
Rozdzia 4.
Wstrzykiwanie zale no ci ................................................................ 121
4.1. Wprowadzenie ........................................................................................................................121
4.2. Komponenty wewnętrzne ......................................................................................................121
4.3. Wyraźna kontrola kolejności inicjalizacji procesu za pomocą atrybutu depends-on .........123
Aplikacja MyBank — zasugerowane zależności między komponentami ........................... 123
Problem niejawnej zależności ...................................................................................................... 124
4.4. Zależności w postaci komponentów o zasięgu singleton i prototypu .............................129
Zależności komponentu o zasięgu singleton ............................................................................ 129
Zależności komponentu o zasięgu prototypu .......................................................................... 132
4.5. Pobieranie w komponencie singleton nowego egzemplarza
komponentu o zasięgu prototypu ........................................................................................135
Interfejs ApplicationContextAware ........................................................................................... 136
Element <lookup-method> ......................................................................................................... 138
Element <replaced-method> ....................................................................................................... 142
4.6. Automatyczne wiązanie zależności ......................................................................................145
Wartość byType ............................................................................................................................. 146
Wartość constructor ...................................................................................................................... 147
Wartość byName ........................................................................................................................... 148
Wartości default i no ..................................................................................................................... 150
Uniedostępnienie komponentu dla funkcji automatycznego wiązania .............................. 150
Ograniczenia automatycznego wiązania ................................................................................... 152
4.7. Podsumowanie ........................................................................................................................153
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin