Re een OM er aaa Ee ee cetae itemom arte tte
Beginning Spring
SpringA []#422
Rod Johnson#eJiirgen Holler t% # ti % /
Mert Caliskan @
Kenan Sevindik
[%](Spring (14598) 48 4H A8 Sp-4ASpring Framework:
Spring Framework Java FFA ARSE UATISHEA, JES Ltd
MUI RAE. Pe AE ERO
<, SLT MA DROLET, WU BbIRa
AEs EP HE MRI Fava PAO EIR FF RA
fF. A AMPOIOMMA. ORMI#. Spring MVC, RESTHE
4. Spring Security PAE RUSaIR, E1Hist SYR NA aL
AUREL AUROOSEAISHHE.
© SPH HiSpring Framework 4.0(32 #FJava 8.0#lJava EE 7)idt
FT SCARF IE RB FO
© EDF BAN SEF, HS SH Bn 0) Ae GR IP HE
GRATER EE LAE
Oo WET LTA, DHA ARNO SA,
FER AEA ava lt) BD) He
O HRA UE EEE, MATTED IE AA A
Spring! A 4°78 ANY AAS:
© EMILIO AE Le BY GEE A HB,
WES TBM aE
SSE A .
WQBo49kiki wrox”
www.swqbook.com AWiley Brand
a ee
Cer CU eat |
eee ey
pee Sa
EUR Ciee eile Gu sLp- a)
HAT EAE, ALOFT ee
Ba CUM ok aay
Dee erie eb
OEE Lue ot oad i
ee a
1SON 978-7-302-41248-9
1
olrarsozte12489>
Ett: 59.807Spring Al] 4
», Mert Caliskan
[A] Kenan Sevindik #
EY tay BR #
IEA het
deMert Caliskan, Kenan Sevindik
Beginning Spring
EISBN: 978-1-118-89292-3
Copyright © 2015 by John Wiley & Sons, Inc., Indianapolis, Indiana
All Rights Reserved. This translation published under license.
Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, Programmer to Programmer, and related trade
dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affi liates, in the
United States and other countries, and may not be used without written permission. All other trademarks
are the property of their respective owners. John Wiley & Sons, Inc., is not associated with any product or
vendor mentioned in this book.
ASH CB ARF ALE Wiley Publishing, Inc. BEBE AE HAMLTE MA. ARLE ASIF AT, ANE DE AL
KARP RAB AE.
AER TAR SHEAR A AIS PAF: 01-2015-2179
Copies of this book sold without a Wiley sticker on the cover are unauthorized and illegal.
APHHUA Wiley QAMHRE, AREAS.
WURPTA, ALY. ALM BIA: 010-62782989 13701121933
FB ZEB (CIP) SE
Spring A (14 $/(8) KAIWitK(Caliskan, M.), (38) Hifhil $8 (Sevindik, K.)#: “EA, Wh, MBAR.
Aba: TRACE MEL, 2015
484): Beginning Spring
ISBN 978-7-302-41248-9
1. OS+- 11. OF @H-- OE OF OH I. OIAVA i
“pA $5 fH CIP BARKS (2015)% 186483
REBEL HES
RMI. AL
BEEBE. we LE
REDS: oF
FURL WV. OTP312
CHART. TNE OF HH HL
FL tit hup://www. tup. com. en, http://www, wqbook, com
Bk RIE RAR A A BE 85 M: 100084
at BH. 010-62770175 ABW, 010-62786544
$2 5A ABS. 010-62776969, cservice@tup. tsinghua. edu. en
KK tH. 010-62772015, zhiliang@tup. tsinghua. edu, en
B®. deme mE
a SF TR TT
eR aE HI
: 185mm X 260mm A aK: 27, eS BE TE
+ 2015 49 A 1 a Ws 2015 4 9 AL UCD
4000
59. 80 JE
HORA RS
mS Sm
P the S ; 064481-01a
Springt Ft % AIWJ2EEV I PEFPHEAR, JEVLRod Johnsond’s ftJExpert One-on-One
J2EE Design and Development—F3 HU {U65 AAA TOK « Spring hts EHEC — FEA
BH KEH MWS HRRHIMKA BM, FT LGR —PDA OIE FBR HB
DataSource. ULSh, BIHFFRA RGB OSE, BEAXML ICES fi Hes CSE.
SpringtHl4i VF & AK SF HEL AEAR Hibernate AStruts), RAR MAE Ty tn HE
Spring AMER T FAA TABI Ba a), AR AATF I AE = A, BE
GAREY RAD AAS VA BBE BENE SH AUB. CEG > EL URE JE E Java P, 2S ARIE
BA RIEESXR TDD(Test Driven Development, id3k2bIFR). TDD A VILIFRA RA
WRZBLE client AAA HAMAM RT. ii Spring AGRA TE MMWR, HH
RARE A.
Spring AT T2540) FRA GR HHIPAT Spring HHMI. PSEA AISA T Spring fe
RNB AIE. BASE TRE ABE, Leon ABEYEFA POJO(Plain Old Java
Object) iF TTIE, WIGS T RE A ESN (AN Pe Hil HE) ML. ksh, Spring My
HOE Web IUAEFF 20 T MVC SEHR. BR T UHM Spring Framework THEA EA BLiillZ It,
JESMAT Spring #£28fM Java Database Connectivity #l Java Persistence API Wifi. MUG VBA
Spring WUT WNW IF RIM HELIN Dy Be, SrA TH FAT y Te, MAT AEP T fF Spring dn
TAH RGR SEEL. Spring IATA. BEAFA REST RUBE Web HR HeOE T
Spring Framework (f) ARI AE. HGH T Spring Security LK HERR 4.0 HRA PTE VERT
Tyfe UeSh, ARITA ee SAB, OKSTIE REAR Spring HEAR AUG KDHE.
ARES 18 Ee RI I RR
AEA CAA — Java HAFEMINRA, UA DEE Java PE PIETER
PAFFRA RA HRA , CHEAP AEE Java FPA A. ABET CARER FE AS Spring
BUA HEA STIRTT, tH AY DBE AB SEAR DRA T fF Spring £77 TDN AEN RAL HE BS
Fat.
SPATIAL. HU. TED. TEL. MAUS, AOA WH, BE,
ESS. TKR ROE, BAAS. ICSb, BRIA A, ECR
FAG HERA, Ba RR RE TB BH.
PEA TEMA PERE, JRO RTA HEE, HRT IS AYA AME de DEAT TAF
HERAT. (LEED ARRAS TE A CMR SRT ABSA, PT DLRI ATSpring ABs
PUZAMEN HE, BU REAR RRL
SR» AA KAA MES HELE TA RR EAE AA
RATA UE Ge BF SE
Ee
Fr{€ & fi tt
Mert Caliskan Sf Si MAPA, MEE See RL, AMEE MER Java Web
SAR RA RU RAF ROA TSE. RETA (LCi PrimeFaces) HOUT FF
HUA, JESbEIE PrimeFaces Cookbook 9 1 (AN 2 f(Packt Publishing, 2013) AH #
fbJé AnkaraJUG (GMA, iii AnkaraJUG 2+] SCRNS ERA JUG. Caliskan J£ Hacettepe
KER F AMA Web MITEL AAA Web HS Fy THI ARIA DENT. ZE 2014 4F, hak T Java
Champion 4 #7, Jf HER AAR eit A CMA, bean IDays 2015.JavaOne 2013,
JDC2010 ll JSFDays’08. FI UAZE Twitter @mertcal + T APLAR
Kenan Sevindik HREM Java ABH AE RBIS. HEF Java
WAAAT LIBS) 1998 Ae, SMEAR EA ERB IR Java FEF. ZE Spring
Application Framework #1 Spring Security Framework A243 HE, Sevindik IFA EA
To ALLS EAL. Aa, 7:32 9% Hareami IT Solution, FPARANLAKEELA
BAMA HOEK Java, OOP, AOP. Spring. Spring Security ll Hibernate MISTI.
He AL YS HDR © AY AM http://blog-harezmi.com.tr Ba) i fh ADR AR HE HF a
ksevindik@harezmi.com.tr 45 {WGK «FRA a fei ST
Chad (Shod) Darby Java FFA MIMI TEM . BEITARUES. 1 —% Java WRAP
ARAM ATM AUNLR, ALEPH RA ERR ARE. TEE OM
SAKINA 15 ENTE, 4255 Blue Cross/Blue Shield, Merck, Boeing, Red Hat VL 2 >it
(BF 2 a] ff. Chid 2B MB Java AAA TE. FL HR Professional Java
E-Commerce(Wiley, 2001)\AK Beginning Java Networking(Wiley, 2010). J&Sh. Abi Ike
TX A Sun Microsystems #! IBM ff] Java WiE, FF5\ Carnegie Mellon A234 T it 4 HLL
PELE. UAT LLY LAY EE www.luv2code.com, WHF Java Hise Ht WIE.
FT LAZE Twitter @darbyluv2code 7 ALMAx Ot
HG, BARBRA RA A Kenan Sevindik, MULE SATIS. UES, BR
Ju) RH Spring Framework {f)€!)2% Rod Johnson fil Jurgen Holler, iA ASB TERF. tn
SRBCAT HAART A UR MRT BRAND, AOA FTE
Jt, ESE AK Jim Minatel. 151 5 4a4 Charlotte Kughen, $27 4% Chad Darby
All Krishna Srinivasan. $7 Kim Cofer U1 2 fill (F4t Rebecca Anderson. 448485 AEP,
TREE AGRA EARL, FERUTIM SR. BRIE, AREA EAH A.
SUTRA, BE. Tugce, HR LRITE Funda, thes TRATES
EAM.
—Mert Caliskan
HABRHLT Betul, RRS ALN, thE TS. REINA
4 Muammer Yucel 25 ft) BAN) J) « ACSA Ta AG AF BIZ AY Spring MRF HE RA
Wee tab APL AA aE 9 FB Ue PAT HE HH SEER: JL EL $48 Charlotte Kughen,
$%AGi4% Chad Darby Fil Krishna Srinivasan,
] Spring Mie Ai.
—Rod JohnsonFr2
Java fi SLSR SIAR AS DR! BIE CE SS Spring Framework JH IFR 11 *EZIA,
FRE BI BUR. BATT RU RIAA BH» IE RE HEHE BE
2846, iid Spring AML AEFR ALE L—Spring tH7EHEB ATL. Spring KAW EMI
PEMA CME AZ HR AH TR: Bilin, ZEAE “RUSS” PE ZT
MVC AED Spring HEMIMS HRA. ARMA BIN IE, 76 2014 4, Spring HE
SATE BS BR RR Ms TC Bats] PR BR
ARV PS BROT AE EBs EA PT Td A
Spring Z Je) — SHA BUE SHEER MY Save Sj EAE CIA BS BY BE PE
"He 4E Java th, RANEER ACE LT ORE”, AICHE GEA API ALERT
SS RIRBCAS 5 SP A Se BEL CEP PRS BRE A HEY LT IDK Fl Java EE
APL AERA, Hite TALE. TEGAN Java 8 IN, iA ES IE SE: AEF lambda
AGA, BA AMI I SRATAE, Web, Java 8 HED T UPS HPSS BE
ARERR IDI PERLE FRAT GAG BEA ET DE AAA 8 BI BE] — AE TE
Key WRG ERNIE EF
JAE Spring 4, % 2014 UK Le GRE TATA. Spring AIA TA mn TEAR AY
HELLA MAA EN, SRE BL, SEK, Spring MULT WHR
se RSERH. ZEAE RAEN Spring Framework 4.x JKT, MARR IMEMTT RA Ee
MG MATH BPRS Spring 4 JER TEE ARAL. Eh, DUARTE IDK 6+ FR SETH TPH:
FAP ERA SABE, FAP RBIS RP DP RSE IDK SRR
Sho TRIE, Psi8-2e Fi BUNA e) IDK B+ PKA ICD ATE, APS AR EL YT TAR A EAI KR
BRS»
SG, BARE OEP ARE, CPE A COBTFE RAP FES} AVAL Spring:
© BH, WOK —APAB LY Spring RUB HSH. MW, eet
SMAO MIA.
© ABET Bh DKA F Oe FAY PRA SR 0 SE APP ET TO FE BR A
eo ARLEN Java H4iF: IDK 8. Spring 4, Tomcat 8. Jetty 9%.
© ATTRA CM AI AES ic OR AE, PPBE Spring, Hit A RAED
FED REE PEAT Ht Be, MB PAE ATH OB eASpring AIT
(SpringA 1468) HER SPH T Spring Framework 479 Ja [HX BRI, JEWEA SLA Spring
FE BB NAR RE EN — ATS. TDI MAR HALL, FSP ESE AE Springish 17 IF
BER
—Jirgen Holler
vuIl}
a
Spring Framework 4-749) Apache License 2.0 iH] (FUR AI AS MLR HLH
FR, Ay RAE ED GR AN PET DO AS HEL CHE RA DE
JQEE(Java Enterprise Edition AJA —WRA)BETTIF RN SHE LANE. (EA EJB(Enterprise
Java Bean) Oi) 2 Al Bean LUCHA HH, FAVE T ORE —+ Bean, PRT Bean XZ
oh, GONE AT AA HE. ZEMIN, BPE EJB RPT NE AE,
SHAE ERAT ALAR BI HY HP IE — IK
Spring Framework ff) 8 SAS JE IEF Rod Johnson #l Jurgen Holler 7 Expert
One-on-One J2EE Design and Development without EJB(Wrox, 2004)— 43} 2 44 (404 «
ASI EAU > HEA EIB ET Ee IE FPL Spring 938 —“MRAL
“F 2002 ERA, BE ZE 2004 #2005 45} Si AA T ABSA. 1.0 MAGIA T RR
SUPUPRERU RAIA, Lew IDBC THR. MRR ABA TA. SRE, AE
Ait 2 HB SHALL MVC Web HEAR.
2.0 All 3.0 WRATEHER PSA T LER BEIM, LEW Aspect) ¢#AI REST SCH. ZEBE
SAAMI, 4.0 ACA RAR, JFELFFA HH Java Enterprise Edition 7 #il Java 8 Standard
EditionJava MUL ARA) REMMI. EAT, HSM LOHR IRA
fie.
Spring Aly $4442» Di(Dependency Injection, KHMYEAVRAMBPRTERK, MIA
AA BH $s Hl BFE (Inversion of Control, 1oC) » Xi 1 tl lil At BHU ALLE RY KZ lA] 51 AT HK,
PAUL DL Areata LEN He AT A PEED SEA eB A SBP
(OSH. Spring (53-45 ALE Al AUKEGE EH AOP(Aspect-Oriented Programming, {fi [4] 771i
HEHE, AOP FEET ATE NIN RE PSE OU BUSCAR EIT. fe Web
DALEY ai a BE ie AS OE, BL RU REZ AINA. DI Al AOP
AGO) BITES 2 TRANS 8 TEVRMI STH
DHE THE, Spring RET AF MRAE RAMUS, FA SHRER,
DWC] LAA EPR OZ AAA, Len WebLogic. JBoss Al Tomcat. iit
(SY RI RAED, AY DARE SLA EE I AE IE B11 AS TBSP
AL LAPTEHLUE, Spring Framework 43 A FF Raval WE REE ASE bE. FEAR
Fa, BATE BABAR TK AY TE BED feSpring ATT
APLAR
WAT BY BIAS, AT CERPE A AE LPH T Spring Framework, Ff H.¢E iy SEAS
DEAT HEHEHE OBESE PET ERR T fh. SRL He Pe Na BBO
Ta toy SA FA ET AE | TE A A AE Be eA Spring Framework#
PRA E TEL TS BE FLA I EPA Ea ARE A SE
FEES BAU AAA SAS TED» DAA ATT RS SM FE JR I PE) EPR TA
Ft HZ £ilSpring Framework!) 4S |] HU 6
RABE T ie avait oi BUA HEI ASI, FEARS AEF IE BE BEIDE) IF BC
JavaftiG, Lt MiEclipse. NetBeansi 3. (th IP3% .
AIPA EADY EAR RAB avail oi ASE ATELY RS OBE oh, APTS
HOHE ARAB THEA Javaili tT AM ARP RE ROL, ASTRA AIRSID.
APEBAR
Spring i818) XML Ail Java YEARHECE T —SETA AY. CE AEH, BR TE
PrEMAC ASE F XML ACH, DUE i eae AT HE AIAG ETT
AAS EALASMA T Spring Framework {Us AIAG EA A ET RIE AS
Ee ttt AE HERY POJO(Plain Old Java Object) #i FE BUM i 1d, PAGE TAREE A BES ES.
‘il CHE) IGE Xe UES, Spring A RE Web IFLRLFRREUET MVC SEBRs Bares rea ste
PTAOL MIAN ICIN AE. ERT VEE Spring Framework PTEGEM TS Hil Z Sb, MOET Spring
Framework {f) Java Database Connectivity #il Java Persistence API Jif. Bi, FAUE
Spring AUME+T MY iN) IF ALTE EID HE» PR SP TG Al Fr TH SZ, MATT LE EME Tf Spring
Ufa Sh EE RAE KE ASB. Spring 2IATIB ST . MAF A REST BURGE Web IS EOE
T Spring Framework MACHINE, BURGLAR BF SPA HEHE, Bee AY
DUEL EZ A TERIF RR. BRATERMEFE Spring Security, “EBA RATE LA AEE
PDF SEERA SHE
Sie, ASSP HAHEAR4.OWAR TAR EA ERT DHE. BENATAR, BA a
GLEE NEAR TMA SY AH T Springtt) F825) He.
FHS fil ESP AAR HSS NEA PEE
Spring AYRE AFA
Ahi whi T Spring Framework(t/ BeOS, HCAIDI (AK ATO) AERC BA «TAT RT
SEE TURN T SSB CAS RZ TAY AAI. YASS AY BEY J ST SS Ai
Bit
AR. AER AT LI BBS I A, AUTRE CES AY BT EA By EE. DIARIO
Martin Fowler, #f HAR (GAF H RLTT MB HZ RA. WESb, ZEEE AT HEAR the EH T DI,
LLWuPicoContainer, Guice Spring.
DIBA SH AMAA, EbM Factory Bk Strategy. FUMAL LA, WIR AEFH Factory Bt
HR, MAMRM SBD HH Factory 2 OK TEAL, (HWE DI, J a Sh ABH PE
SER EM. HTH, WR Strategy BESK, MMA OMS PH RGR RA
WAST AGN SLL) BD, SAMS. ATT, WR DL, Wa
ASA SOA, MANE MM SAE
JA Spring Framework 2.0 RATER, BRT CH EE Mt eT, MAY EME XML 2
YOR DI BL]. TOMA 2.5 ATP, Spring FF] Java 5 FAL TE MSC HEIN Bo) BR
ABBE PV FDEP Re I Fi SN A TL BRAT
DPA HER TS) A ITAT EEF
Spring 4.0
13 HEAP HA Spring SBA AT HS NA . 4.0 ARATE BDA CID HEE OE T Xt Java 8 4
SUF, LCM lambda RGA RAITT A IATL. Web, EXE ABT DateTime API AE T HEME
BUN A Ws Hk 24.0 PRAIA HF Java EE7 Si, EL Ml JPA 2.1.JMS 2.0.JTA 1.2,Bean Validation
LL Be BUTERA ANH AL T Ee AH TSE BTN.
Spring =f
Spring E32 Ay AR BUE ALA HERS SEA REBEL T SE TERRA XML (ACH. BK
ATV RS a Sok — EE 2 HH BEEN XML BLL, AAT RAS XML BOA FE BRA A EA EA
Sa. FEAT, BAVR ATE ERR, CREE AL EE APS as
EAE BAR. UES, BEATLES REE A Bil TB alt HEAR TH EU TA TE
J Spring 2.5 F£F#i, JSR-250 Annotations API th # XH. ELE Java Specification Request,
BAL IEM IFA, (8 Spring 45 Java ft) EE RAE IEA.
{$A JDBC. JPA #8 ORM i24# Spring #ATERH
Spring FIFA A RBREET FE Xt IDBC GR ME Ui Ta) AAR. EU lob FA) TEE RY
PERU. SHAS / AES Ab BBL A AME Me BT, AAT HT FEAR 6
HU Spring BATHEUEA MINT BX AWM (ORMYHEA, (EE HF AB AEHRE SF IPA BETTE
Kil4 ORM HEAR, bk hl Hibernate, EclipseLink, TopLink %. Atop Ae ML teasSpring AiTea
BISA JDBC, IPA Ail ORM MIDTATAIDEE »
Spring RANE
Spring Ai sCiH A (Spring Expression Language, SpEL) {AHS AEBR AM AikstHR A,
AY DL AERE AT CERT SR EAT SE FATEN SpEL Beis SR MUTT BALA XML BU RLERYEARRETT
SEL. iti SpEL AFT REE SET EL AML, AIRE T we SNE.
SpEL ML KAUT MHS Bean EARLS AINE. BRT TEM AASLZ Bb, “NR
PRU AE. Spring HSH FUL A HHT DLE A ASE MLA SpEL, bed de He oROETE
JES, SpEL tS SARTORI, EDL ATL WARE TEAR LEME Spring LF. ACEH
hat Ze LPT AE.
Spring #4 #3240 AOP
BOR TERME REALS hI RSE BENZ RE RST WER EARS OT
PES, LOMAS EN RB, RAT RASC PRD RAE. HOSES PSE
BAEK TBO TERME. UESt, Spring ERT PEM HE, CARLY
FEE BGR CMTE AL—BUE . SB 6 TERE FT AS BLA CDA AR Spring, fafa] BE 1K FW] CA EE
SUMS DLA, ACHES AL Je EH A DR Sd EL A LI Be HE A AR eR A
Hits.
AT SPABUIAIE AL, Spring AOP (HF XML AC HBEET AOP CHT AEX, WESb,
‘CE SLEF Aspect) HEARHERE, ALITA FEIT ABC EE AF HAE 5H.
Spring MVC 407 & REST Plaga Web ARS
48 84-F MVC(Model View Controller, $£4/-#2/4-#2 th 2) 8st, AT LARS Ae Sth te =
FERS A BIST AD RRIE< Ep OBLAL” JE RIE FR ALS PD A
“LA” SUSE DK ARR ROS), TT “CREAR” JUL FE ADA PR AEBSY. Spring
BURT A MVC FRE AEE HTTP HR, MATH T VRE, UE RMA
SURAT TERA. ISR, CREE T AMBER M REST FUREY Web fi
Fo CR AEAR A GSU AERO FETED), RITA Web IAADREY SE IRIE.
Spring Security
Spring Security 42 Spring HY —-T-F 1H, AIET Java HENRI A REE ET ai
xiLie
SOREN. WHA MRE Acegi, Bila IB) Spring WAAA. EMA
Servlet APL, FLARI LAaE as A Sa HUES —4SEF Java EE BY) Web IFA BRF ASE. UES,
Bn] LAG Ath Spring HERSEK, Lewd MVC, PTDAZES REDE LORE T BE. 38 12 Fe
HN AL ERE A 5 A.
Spring 27
3K 3.1 RAFF HA, Spring Framework iiit-¢E Je 6 (8 FH 7S Trl 2 77 HEAR (Le Ehcache Ail
Hazelcast), EVEN Be ER T — Pie EES
OES A NAONIMTSAON TE BAING RRA, Mii A ATEN
TRB.
ide:
Spring Framework &—-*+- SH HLA, REA—-AMPARKE OD BPP BAA HY
FRAVBMHA MARR RT HEM. A HAIER F MBE AR it HF AE AE RY Spring F
RAMS T MHRA,
I, APEBRAETIERMY 4.0.5. REALSE MA, AMBAPHEARAM YMA,
Bite, A HRA ABABA RARLAKH fe.
TAB ARS BORE
ATIATAD MAB), BEELER:
© Java Development Kit (JDK) 8.0
° Maven Rae TA: iE Mavenhtyi A it, BT LLtEwww.wrox.com/
go/beginningspringft')Download Coded 3it-6 PRAIA HP STA AB
ER:
Maven FLA AMIABLE BA Java 3247 Ht HE)? KR Java Development Kit.
© Java Web BH: WT issTAB HN Web WA bl, RMEAT Tomcat 8.0.12 #1
Jetty 9.2.3.
© Java IDE: 45+ it) as iiHet Eclipse IDE SEI, (HPA (84) Maven fe 492i A Ait,
PRUL BY DAB RE A 54 HE SCA, IDE(LC A NetBeans BX IntelliJ IDEA KH EAB.
ain
REBAR T SAB DRE TSP RR, LAER BEE RIN,
xlSpring A148
WRAP RA THR, CMTS ARR, TAR, BARR RR.
TARA, PTDL AER, MR, BORAT RAPHE Ee
#48 wkservice@vip.163.com RAF AE, RAN mAh A RO, WR EG
(I, -BUTRECE ATS A PR
BEERS FARSI AVE SCM, BTL) EERE http://www.wrox.com, jit Search T.
AREA MRARAT, PSEA TAN A OUI, Siti Book Errata HERE. AER} Wifi
FELLATE AB) Wrox Fh UGE AE AVIA ITAL BY RI. TERE AN LFS UAE ALF ASS AB
4%, LSE www.wrox.com/mise-pages/booklist.shtml >
p2p.wrox.com
SES EM AIAITIT I, TINA p2p.wrox.com Lt: ff) P2P etx. 1X MieiRIE ET Web
PDAS, (EPA Wrox PSA CHT AURA, HB AAA Pe tly
HABE GE TW BUD ARE, 6 Medak AT BART I, “ET A a ER HL. Wrox
TER. GAPE AD ML TES RAE AB 2s BIA ih is LOR TT
46 http://p2p.wrox.com |, SAAMI, CANA P REA, BT
FRA CHM. MAI, WLR P ne:
(1) BEA p2p.wrox.com, "it Register EEE.
(2) BUEEAL UX, FF Agree #4.
3) SS MA Kies Ta SE A tes A A tid, Sat; Submit #2441.
(4) BAW HT MOE, Hop eae BR TEKS, sec At
iB:
Ao PIP AA vA Hes LE HF IH
RRM A LH G, RSM ARIE.
MARS, BETAS EL, OA HAUL SAE. BY DABEITZE Web Bde
WE. WRAL ACRO ee, Mite ieee
fK) Subscribe to this Forum Ff
SFA Wrox P2P HES ta, AIDE P2P FAQ, T ARICA APE LAIR P2P
All Wrox TRIES Hi ML. EGE FAQ, ATLAZE(ERE P2P Wit Litt FAQ HERE.
ARNE
LESLIE AS TEP DAD LINE AS HY HE 2 Ha PE a ATC AN Se
PUA CI LSB AT BC AE 5 ASG 9 BIT Aa HSA CT AK, attp://www.wrox.com
/go/beginningspring Fk. 2 RIMAE DAB YR I 15 HT a AE AR ASF a A
FEB SAR SCE AS PRI TEE» ECE i HET EP aE AL RG LE CP Sh EAB 6
xIVwo
FTFPAM RZ, RRA TS (ED HER A EH REP — PE AS
5 FtHY SUM LAN Download Code HEBE, BEAT LARA AMEIN ITA IU.
+27] Lil] www.tupwk.com.cn/downpage, ZEHTFNAM PRAT LHL RPLBS,
KF BAS.
itm:
OTHS PMLA RUMHS, HVAT RA RIE ISBN MRAR MH, A
RX ISBN & 978-1-118-89292-3.
BRE, KET LLZE http://www.wrox.com/dynamic/books/download.aspx 4] JF 2 Wrox 4%
FRR, URAAB RATA Hh Wrox Fa) RU.1B POO MRR. BER
BS BE RDI BE HG onennnnceeree
1.1 POJO Hate --
LL GORI EIB Si Feta!
BF CEN fal
1.1.2 POJO Si FEB AE A
12 RARE RS ALE BE
1.2.1 BERRA
1.2.2 PEthil eH
1.3 BEA
13.1
13.2
133
ie MEA
Setter i: AaRHYitE
AGEN
14 4 ~
1S dei~
16 AMER MIRG
582% (BAA Spring wATRBEA ~~ 15
2.1 Spring IoC A28-- .
21.1 ARCA
21.2 ROBIE
2.2 HRBIEA
a
2.2.2
——
224
2.2.5
22.6
ES Bean ff Yorn
4d:}Hdepends-on Ft
22.7 Aaah
2.2.8 Bean #ik~
2.3. Spring # 2A) Bean
24
oe
2.6
B3%
7
_
3.3
34
35
fr% Bean“
Bean SIE 77%%
Bean fF FHS ~
HEIR WHE,
4 STE
Bean Sif MBC HEI Ft
RS
eSeseseseacs
ATE BA
{8/8 Spring MVC #48 Web
SRF
22] Spring MVC ff
DREAM. 7
48/4 Dispatcher Servlet #L ‘il -
321 52% Servict
3.22 ili Servlet EFC
0853 — Spring MVC
EE
{SATEAMERC EL Spring MVC
(RSH ISP Abe
3.5.1 ROM PEER EH
3.5.2 HRS MTR ADH HE
3.5.3 MALE
3.5.4 SEAM A TER
3.5.5 HAL
3.5.6 (AL PREM TERE
3.5.7 HAN Mae La TE
3.5.8 ALS T PE
3.5.9 MSMR
3.5.10 fac HRCSpring A788
3.5.11 FE
‘BEATE WBN ATI BE -
3.6.1
3.6.2
3.6
@Controller~
@RequestMapping
3.6.3 @ModeAttribute
3.6.4
3.6.5
@PathVariable ~
@ControllerAdvice:
@InitBinder~
3.6.6
3.6.7 @ExceptionHandler:
EAL A
Het
MOLE
SEDLE BRAK (1 8n)~
EE
Ap -
Sh
ASHE BUS
=
3.8
a
3.10
3.11
3.12
3.13
3.14
34% {8 FB Spring #47 JDBC
RUBIA
4.1 GOH ESELIDBC Ariki
a nee Ty}
4.2. GIA Spring ff) JDBC 52 #¥ ~~ 103
4.2.1 HL IDBC ibe ~ 103
4.2.2 MOHAIEH] Spring (%)
JDBC 345
4.3 (HH Spring SUT Bae
Ui ial eRe 112
43.1 SMTA “112
43.2 fehl SMT tify 115
43.3 (8 In FMS TTA 116
4.3.4 ¢£JdbcTemplate'} (iF
PreparedStatements:****"""""* 117
43.5 HA. SOBPAUMI RoR 119
43.6 WFR
44
45
4.6
ae
48
#5e
=e
5.2
5.3
43.8 4232 BLOB Ail
CLOB XH
SRE EE I
AY JDBC Wik
43.10 dt4y DDL tft
45 JDBC REBEL
Java T&R
44.1 SAE SQL trHIUT
44.2 HSQL DML HefE
SEL ET
Mh LA EE RA EAR
‘Re ALLY Ea a)
Se a
45.2 SQLException ff)
Fah RA Fe aR
43.9
443
He
43.
Ike
Si
ATER IMR
iW Spring {FA JPA
HET BuB Wal ~
#38 ORM Fil JPA
iS ANUCR ~
ORM FESR HEE
IPA (Se BEI DA
FET SLI
#§ Java RAB HB)
SQL 8+
ACA IPA~
Spring ff) JPA ZF
(eSpring #48} BLAIPA
E740 JPA 3232 DAO
hE Ae
46 Spring FE}
jk —25 RCE IPA ~~
ne
Sl
5.12
5.13
5.14
5.16
5.2.1
5.2.2
5.23
5.2.454
5.5
BOR
6.1
6.2
63
6.4
6.5
6.6
6.7
68
BIB
TA
AE EB Ki -
{8FA Spring SRS
FERS
Spring ff 445-4 sey
6.2.1 ANS GA TAD oe
6.2.2 PlatformTransaction
iy
6.2.3 Spring HRB
Managi
BUM
(HA Spring YET FS WSK
6.3.1 HERS ES BG Ui ial
BORA EAT BS
63.2 A MRUM ESAT
6.3.3 HERE
@Transactional
6.3.4 SRS eH LI
63.5 fifi ii17
PEARS Fe
4H Spring HET Sate
US
CEN Z WRAL
DMT AE SG
6.5.1 SERVES HERR EB oreeeon
6.5.2. (HH Transaction
Synchronization $447
9 se
i
A
AEE BEA
{FA Spring #4T MIX
ApplicationContext-~
72
73
14
1S
TAA fed EP XMLAL
BEF Javalt 1K SCR 204
7.1.2 {8A Application
Contexthnitializer
REE RR
TAS RARE FSR
7.14 ApplicationContext #247210
TEAR A BAT
TEMA PE SS EE
Wik Web RH AYY
Fx
741 WRN,
atest
74.2 iWikRequestAiSession
fe AU (Bean
7.4.3 Wik Spring MVC JH
AHF Mock Xf) RHA,
FAP MRSA
75.1. Spring x1 3utit
Seki) Mock 1%
75.2 Shwe SHH SA
Witte
B8e
8.1
8.2
8.3
{FA Spring #47
Aww
4é Spring "P FFM AOP ~-230
8.2.1 Before~
8.2.2 After Returning ~~
8.23 After Throwing:
8.2.4 After(Finally)~
8.25 Around
HEAT
B31 RMA Y RIK
83.2 WE RIK ~
XIXSpring ABH
8.4
8.5
8.6
8.7
8.8
8.9
OR
91
9.2
9.3
9.4
95
8.3.3 HAAR A
Hiatt
FA FALE PE A SKE,
8.4.1 @Before sss
8.4.2
8.43
844
8.4.5
8.4.6
8.4.7
8.4.8
@DeclareParents **-"
#§ ApectJ #il Spring
Bate it
4{&AYEMPACE Spring AOP ~~
A
AB
ABER
Spring RAR
48 SpEL Ac OVA
Ta
WW
HF
9.3.2 WARSI
AA AR
94.1
93.1
#root
9.4.2
943
this
iF RAL YAR R264
9.4.4 PIRSA
94.5 EMR HC
Tf SpEL iB 80% ~~
95.1
9.5.2
9.5.3
9.5.4
95.5
9.5.6
TEM Aeik IE FETE
RETA
9.6
O7
98
99
8108
10.1
10.:
i
10.
o
10.4
10.5
10.6
10.7
9.5.7 SA REPEL ELY
95.8 RAH —
DALI TICK
‘(2H SpEL PINAL TA
9.6.1. Vili Spring Bean
9.6.2.
9.6.3 Rete PIAA
ered
BR
BSE — TF
10.1.1 EHP ASI
CHART THER -
10.1.2 (HEEOERC BEE
{A BAPE A
@Cacheabl
@CacheE viet:
@CachePut ~~
10.2.4 @Caching ~
SLAPS
103.1
275
“276
10.2.1
10.2.2
10.2.3
sss 8D
SimpleCacheManager~"~283
10.3.2 NoOpCacheManager--284
10.3.3 ConcurrentMap
CacheManager-~
10.3.4 CompositeCache
Manager:
46 SpEL BLA FIBE4eT
DBRS Ts RAIL BEAE «286
FAR IRATE OE
es
10.6.1. Eheache
10.6.2 Guava10.8
10.9
Buk
Ee
11.2
113
114
11.5
_o
11.7
11.8
Vg
B12e
12.1
12.2
oe Ee
12.4
12.5
{8/8 Spring #4 REST
PUREED Web BBS
£1 298—7> REST Web
BB
M REST Web R418 Fl
ARMA) HTTP RASS
EASE TE A
ACR MATE oe
iaiict XML 48/f] REST
Web lit ~
SFL FE HE BEB ~
Xt REST UA ARS HEAT
TCM IR ~
ie
2a
AEE BIT
{8FA Spring Security 424"
Web Bi FA FAVS &
Ditto BAe
Spring Security.
Spring Security (2b fe
RRAMEH
Spring Security-
$2f% Spring Security ff)
REI ER
PFE EAT OPE
12.5.1 AS ARI) AY EERE
12.5.2 RINE RAE
1253 Kea
12.6
12.7
12.8
oe
B13 eB
13.1
ao
oe
13.4
13.5
13.6
ghey
13.8
HRA SEER
12.5.4 Ae CERT
Ye
4841 JDBC vila
UserDetail
SORT
12.5.8 Remember-Me 4
12.5.9 FAP aie rR
125.10 SALA BRIE ~
BEBL Web i# RAVI
12.5.5
12.5.6
12.5.7
12.6.1 BEAL Web i#K
12.6.2 ALLAN TLE
12.6.3 MPRA
12.6.4 (8H ISP 2e4ebn
12.6.5 BAUR ArH
Ai
Ae
AEB
Spring 4.0-
PRERBA: Java 8 Al
Java EE7 X#¥ ~~
EFA AE RAC
iEA~
XA ARRAS TH
TOR MATH YE
HS HE
SARE RE
Ki
2
AEB RARPOJO ##RE. BERABA
feel
AREBAR:
GOK AY EIB Sa PEC NY PF FFHE AY TE BE ial aL, KE Hrd LG | BET POJO dea Hy AE
POJO Si FEAR AY HIER
FA SEA AR UA BQ FE AG A VA Hy PB FE PE PB A I 95
AEA SEATED 85 Be UI i AAS BIAS BEL,
At SEES RFE (Inversion of Control, loC)UA Feil] RAEN MART EE
ToC AIK HVEA ZAIN KA
MEA TTA, Setter ALE PA BOE A
ARATE A TEE TR,
POJO(Plain Old Java Object)iZayFFRA-F 21 (EAH, FBR CEA Java HR RD
AVits POIO HAZ PTAA LA MAAR IG, AES NATE TREAT AFR oR A
BEATA HES, FP ay ITAL IT DAM AS BOT PEA POJO SiFE BY ARGH. ACHE
HEM ASMACE POIO SFR HINZE Java ATA Oil REA, I RT He
OK] EJB(Enterprise JavaBean) i Fi EIT 4F-1ENY IAL. Ree THEME AS T f# POO Hae
POPE URE IFRA REET 10
ARTE ANY —BAGAP AE AE BEST A A a AHS HAE PE ABER SAT TAL
BORA AR Ly) BUTE PASE AAR, ARIE T ABLE GS DA De ti AAS BE
Hoe HES, ORG SL ERAN ee AL tal AEM, A ROME A Tr ER 6 HRSpring A138
Wy PADGETT
1.1 POJO Safe!
POJO (REE fi 2419 Java HH (Plain Old Java Objects), 1%44 #56 HH Martin Fowler,
Rebecca Parsons 12 Josh MacKenzie HEH » SATII MHI Java XY SNF TAS ONE EL
WENA. POIO (ART — HME, BER Java MPG RE EL Java BY
FAELF GY. WILL BRE BE
ORT REGO EN EJB See TCE ZE RY EB iol, ERT LA BEE A POJO Sa PEAY
Si Re fe
1.4.1 RGRAY EJB $aF Zee iret Bg) ea
EJB ARIE F 1997 EHR CHEE TAP SIS TINO A Po BD A SAP
A, aeATIE HET BUT EIB ALP ATTA PRS. ZEMIN, EJB dé JOBE He
YEP TE BEE.
VS AMA EIB SAA DEE FAM AKITRSINA. EIB REET BALE BESL, i%
HAUT VULFF RA RATE RAMS IE, ATTRA, LEMUR. BS EE
BL AA CBE. “ERE. CRUR TL, ARES AAR. RAL. PARA LAA AA
ARTIST AGRE PTE AE RERUN AR, GX RH ERAT
J&, (ASI FAR MU.
EJB 2.x MUSORA TREO AA TWA YAU EIB ROH RR, Mit
TERA RAS HEAR A EIB HERERO fale ARS. IAI, EJB 2.x i692
REALE BEL ATIE, LCM efbCreate,. ejbPassivate A ejbActivate, MiX“E [ALi Ay
YES EIB (NER Wit A MIF ARK R
AHR EIB AE, FER ARR HBG =A AS PE EB ak
PHROURMA MR, WE ia:
public interface PetClinicService extends EJBObject {
public void saveOwner (Owner owner) throws RemoteException;
)
public interface PetClinicServiceHome extends EJBHome {
public PetClinicService create() throws RemoteExcept ion, CreateException;
)
public class PetClinicServiceBean implements SessionBean (
private SessionContext sessionContext;
public void ejbCreate() {
public void ejbRemove() {1 POO MEAL. BRRABMIAH RE
erie void ejbActivate() {
ae void ejbPassivate() {
Dore void setSessionContext (SessionContext sessionContext) {
this.sessionContext = sessionContext;
ao void saveOwner() throws java.rmi.RemoteException {
//implementation of saving owner instance...
; )
EAR US Batis 7 GRE 7S EIB ALE Pir a BAS 1, SEH adi MET EJB2
IFW Pe) 44% L (Application Programming Interface, API)(M ATs. HGRA REREO [aj ¥b
STF LT LI BAIA APL (HE ESB2.x SUI PA APR ESE R, BIBER
WIG TBA SEMA BEE MHP «PRT, TRA RE EER IY, RPE
PRATER: FORCE — PAS BATA, MSM BRN SE RIASE APL
FEE RARE A RTT ES | AG 4 MRL, PRES SOREL, FEL
FETE REE PRE AA TTD Ru aE PARE (A AAI ML 95 AT HEN SEH ZF) SE FA 2b — ft B
SiR aRR HATE BE OR
SEB LATIMER EMT MAM BRMI ATE APL: ERE AIA. ANE
ERE RST, BEE LAAN, RB RSE
AH AE PR AIL Servlet AA] WEL BEV i) EUB feyP AE AMI PERE RAIN. TPM RE ACHE
EOG|AB) BIB SEH. AM, IPRA TEE EIB ALPE IY, WAR AEA AK He
AOE EAE. BSS S REO ZARA BERBER, (HES
RIMS ASE ABATE AYLI RemoateException, JA iE MLE MRA MA AM
F EVB AGAR.
TWEE GOR EIB SoA Ne A 2 —. Ze EIB BAEZ dpwMiK Session Fil
EntityBeans JLY EAH AEA; BLN, ZEGEAY JUnit HSE RIF AHH Antegrated Development
Environment, IDE)‘}'. REA Ai AMARA, (Hix Session Bean 7H THK
Ry CEASE AER SE AH AEC(LANAE ANAT EMF Session Bean VET MR. “VMBEEALRZ,
Prwlid Entity Bean If, WEA ME, By Entity Bean RAAB, A
FASEB ICE FN ch EIB ASSES ER AME, IPRA ROPER SR UG Te OP Ap
AY EJB, FPR A Wn Cactus 2 SIS ARERR. RTT, ZEAE A
He Prk FEE Run As JUnit Test ie, LAP UR ATA AMY BE Hn SAS AI TT A
Ete.
BOSAL EVB Sib AY 53 — 7S EL SP TAIT Be FP RA BA AF XML
Be Reon PIR CRE IF BIB SAP, LRA PAR, Gils
BiB, BARE, NUTT RE PBR eA TCHS. TPR A RSE
BAPTA, ARRAS PES AR, TOR BeSpring ATIBK
WOR A BEE LB.
PIR BLAS EIB EN, SESE UIE NE A BI
{adi 740-25 8 ft (container-managed) #5 AL EL. ATLA, SONAL EB
ERATE RA ACH KBUR, NSH. RETAIN, CARRE?
PetCl inicEJB2
PetClinicService
com.example. PetClinicServicelome
com. example. PetClinicService
com.example.PetClinicServiceImpl
Stateless
Container
jdbc/ds
javax.sql.DataSource
Container
MessageSubscr iber
com. example .MessageSubscriber
Container
javax. jms. Topic
ejb/PetClinicService
Session
com. example. PetClinicServiceHome
com.example .PetClinicService
PetClinicService
PetClinicService
saveOwner
Required
=e
“4905 ESB (MBIT, MELE ALIKE a AEE JER 2485" Yj [a] INDI(Java Naming and1S POMBE. BERAR MICH
Directory Interface) F FX, JHMM RAR, DEAR th EIB il DataSource SBI
Wl. PRT, ROPE ESE EIB ALERT DDI CRN RU A A PE
‘TEA DUT PMSA MTU Basho fel INDI REP AER EIB ASHI ASO
javax.sql.DataSource:
try (
InitialContext context = new InitialContext();
PetClinicServiceHome petClinicServiceHome = (PetClinicServiceHome)
context . lookup ("java: /comp/env/ejb/PetClinicService");
PetClinicService petClinicService = petClinicServicetiome.create();
//you can now access business methods of the component...
} catch (NamingException e) {
throw new RuntimeException(e);
)
try (
InitialContext context = new InitialContext ();
DataSource ds = (DataSource) context. lookup ("java:/comp/env/jdbc/ds") ;
//you can now obtain JDBC Connections via DataSource object...
} catch(NamingException e) {
throw new RuntimeException(e) ;
)
SESE, BTU INDI PERE BEA PPE SR, fH a FSC HE HE (pull-based
mature), (EAE-(4 8 TCU isk IU TL RY A SE IE A i ELA MT INDI EP SCH HCE)
JSOK IY BIB $a P2 SOLE TE RY 55 —7F Tal RES EAA BS IY Bt. EMRE
PUP, REA EEE ETE BE, A A ete ETE
SSCA SIE (urna)! AY BET REAR LE, ROT, RATT Dy Bee A
SESE, UAE LAR AU IESE TE 5 JX tbs REL RRR Bi UA STA LT ORY BR ot EZ
(AE SENIE CETL RAY Bett eh, Herp 7S BE BE RE A AA SIRT
BORK. DHEA, UNTORALIN Java St — PPA SLT es, DRUG AL — EAE A
Fil Java (OBTAT OR AR, AAEM?
SURG TRB, HALMGAR EE EL EIB aU. AAT
WMATA RAGE AT BOR Bean aMEAARAS. MAKIN, HERAT, CEREAL
PES SEBEL T TAT HIME BL BEG TERE. Entity EJB RUN AT ADK React, (2.
EPH FAR OA BEAST EU, RARE], ARSICHF Entity
Bean AMMA; AAT REK$ Entity Bean SPIE WA BIKA) Bean AVE MA ALE
PUREE, GA.
FART, TEAL BE A fe TTR FBP RUE AE A A aa.
Ti, CEREAL P, BE AAR HA. MAEM ATRIAL,
TIERRA, WIGS HEE ORE DIE. GORI EIB $i ALTE
(DSL RRP BLT UR HS Ze OE FF AF ES} (dumb domain object), UIA“ BAL FE 4 TSpring A148
DSU RIY: fee 5s A ZT AE ATH. Martin Fowler Jy 2K el RAT Re A Hy BF
LM @nemic domain model). SLA MLB HLH AAD: FLAG, Su SEA th 1
FRE ARAN AHOERE, LF AR EIT ATU. (EE, OKAY EIB SFE
FetétE — MLE LE BL LET ARTE, TA EE AO Eb aT Bet
ANE DUS LEFF ABT DL BAH. HE RHE BE I. IR BG
TBAT. FA 1-1 GAN TX MEH KHZ RR
bela
1-1
BEE RAR EY PIES ZT ART ROR, IAHR IB AS LB HCE
WERENT, LR EBON. IN, RTD, ANAT
AEMIDT— Ti, WA BENT, DF BEE OH HE BY
WRERID DS EME AAAS OI ALEK | RTD, HEART TE
ZARA AE — 18. o DEM, BIB Acahall et ie FE 77 74 MH (Remote Method
Invocation, RMI)(i Web AAUIRS THE, ROP MASE bs EET SAT TP zs Bl
Bk, Web Jet 1(t) Servlet A JSP if SiR Jai" 1) EIB APHULTT T Sak FLAT RE MEISE RENS21 POORBRA. BERARMEARE
BEE. BRT (GNU LE eZ Hh, FERN ES SER IA IMAL ZR AN TALS,
JH8 fe] BN ABLE BIB AAS ET AIRE Web 48 HIT AH FH M4) ClassLoader 3:6.
PA 1-2 Shas T 4 JOBE DYFA ARAYA RU ES Pak A RS A TY) Webs
ABA EIB FE AU, BANA RAL DAR ESE Web ALE tL TR
4107 RMI 45 EJB EET, RAR ETMLT ARH. CEES
Java EPP ATLAS, “4 Web 2 Al EIB RiP HARE, IFLA AE AA Web
FeVyle] BYB BY, BARS TA AHEE, A Web Je: BUR FeEfh) RMI ig FA HG Se ici aA ws Be HE
GEIR. HER ALS A 8 See KR JZ TAA RMI.
J2EE WARP a
ff 1-2
BRE LENE AAA — WOE “UES A, BRIT”, Alo MT HIZE JOBE BY
HDPE AAO. SIT, 7E EIB Al JOBE SGT ECEHES BT AAS LA, BT
ELVES EMU SH WHEL AL I ADE AL EIT HS BR TP BERT SE 3 HE FAS BS
FTCA CSE INARA, AE, Oo TUE RRP PT EAE bE, FPR
TREFRE SHE, RSA ERS API. Kb, RASBARA “—
UES A, BEAR”, IXTE IZEE FRA RZ IAA IR.
ERAS Bc A AE EVB3 Al EVB3.1 WP BIT WR. PEM CE E HY
~ EMER RTIN EIB MIES|A T POJO iF. 21K KS) Bean AH BIKA) Bean (rH
ay, (CE ONa A, TDK Java 4b API(Java Persistence API, JPA)#f Entity Bean #&
PAIET POIO MBH. OK, PUT. WARTS AE Dt A Be
Ta), EIB Si Be AHS EF KR POIO FAFA AL.
“HY, JET POIO, HAAR AS EIB APPR AM IZEE PERE CTR, Ee
hg Hibernate #l Spring. PY LAiX ist, EB Si PAA A AEE ERT IX HEAR, HES AE Spring.
1.1.2 POJO WE RH HA
POSO Sie Sat BE VE eS ITIP RA Ts PRA i CHE TS 9
FEAR TG BE MABE AMT ARG HEN) APL, AS GT BES SILA TOTS 9 ABE BAT FRE EAE HEAR
EBA ASG BE EL EAT FS PLU AT HA RAMA Te AGE ATH KE HT TK
PAD SEF POJO MARA HOBUTATHE GERD API BRHEAR ARES, TLL AT LAR AS AS) Ha
ERRATA IEE AR TAL ak ZTE FA). DAMbts AS GRE A a ak 1 2 a ahSpring ATS
LESb, APE GSE AT REBSIEAT ALMUIR MSTTHB BE BS PL PR CEB
SUA. AT LGR JUnit CEPT SERRA IDE PREECE. ARM ERS AR
HEAR(LE MN Cactus) ih FT AETHER ATER.
POJO. Sai AERA OY iL FE BSA BS AMT od at Sf ASE TP EK SAR, AE
SULA Fe] Le WER I 5 EY LAELIA 5 SE, TT ASE
RUAEAT Hy Fr ts AY EASIER
12 BeQMa sisi
J GORI EIB $F ER AEA, ERA ESA,
VENA RAW Java SP IPSS BS) EE APRS AP. SA — Rk
RE, MBE IEE HSER Ti TT RE aA EARS, TREE RA A EEE
FB CAIALRERE PFE EARS. Bild, PSR AE A Pb SN), SEC HY ae
BRE RT UL eH J2EE SP get:
CE DMF REFF (SPE Z Sb ih IH PEE Be
CE TG BE ENT A FHL TD
DAF 8A A Ay AT ES AP
{FE BET FED 5 a a
TEDL PETE Se PAL A
CRE EMRE AR
Se ER Pe A Ef
1.2.1 BRERA
AUR HOSP 0 EB RIP SAUTER, HERA TH SPARS
Wa ShAE. 5 Fata, Ah WA RAT EE ESI — TORE JOBE
WRT RS oe LA wy DA HEP a PRS 6 ESR ETRE “MARIO. BAR
SEAR, TEAR AE RK IE AE DRI ET AEA. MRR, BUR
Fy GEAR PEEL AT IT GAIT AEH © ERR, HEE ME AR HASTE BA
FOEAI, AE AAT ACI EE REIMER, ATT HEIS ABE TE LI Tl]
Pk, CES, A TERT: TEED, PALA A
BEAL, FEAR TTA TPES © EERE BRR A A¥-A8 (container). Java EE ft
PEAT SPENSER) — ee Tt IRB)
A, Servlet 228 1 Bt GLAU HEWN AEIY: Web FEMIZIF, Lehn Servlet, JSP. Filter. if
A Hifi, BB ABET MATOS, KARE EIB AE. 5 Java EE FAA
FRAVL, Spring Container JE —TPAE, TEAARS TH, MRP RENEE. BARA, FFL
PRET Ty SHEED TEE SS»
REV AAEM» Y LGA Ha FE ta) 28 a8 A Ne ATE A dE IT EE AA PB a1H POO MAW. BERSBMIH RE
M3. HLLE Rod Johnson il Jurgen Holler Hii SO IFOILETSY Expert One-on-One J2EE
Development Without EJB(Wrox, 2004), Hf LL Hit F Bias Ao NR
Afr ALE
© REET
© At AAR
© AREER
PRT LRM Sb, WR ARE EMER FT ASE HERS, ABBR ERE Ts
© HSE
RAE
Hf SAB
SAL BA ae RE DY ad
Jat IMX Z2RHY API ERATE
ASOT AME til
AMET A A (lightweight container) @45 0H IAD HE, (IEA ESE T Heise
API 1S SAE. UU, PARR TE, JURA, HEAL ASAE
SHES — ADH AEF EAN Java EE PRS SS EEE IRR (BALE
ART BAMA). ZEAE Java LF", Spring Application Framework Fife % MISE
BERL
1.2.2 42H
BEBE BE BE ITB A Bik BE HE hE OY PRR. ALE TG ESL
PEC, HEEL AY EA aa AUB Ted AWA PE TERS © ALPE AS HG BE TARE A 9G
SURI. At, WY DASE ASA Sa Hk PAS SEER ARSE AEE TALS TAR
ATE IU JE EAL A RAR SS. FER AT Aen te —
PEALE AR PSEA FM ERE PPR Se UL RAL PE, AAR CES AT NT 1 AAR Se BH
ARIAL PETE AEE «PAU, RY ARCOLA a A Ee BZ BE CRS BR AA AE
(Inversion of Control), 2 (8859 loC. —fBOK BE, IoC ALAR — MEN EES,
HY EASE AE HES RU “ASRS RATTAT LG, FRATT22 2 FRAT HL (don’t call us, we'll call you)”
OK HE RF St FL AE ToC (KBE YE.
ToC BE UA Wy HE FEAT PEAS He BEE OEE AR EZ EEE TR: EER
(dependency lookup)All{tes8t3# A (dependency injection).
CETTE, PERE TT ALS BE TDL Arie, TAAL SSH SI a UI
AAT TIF EM CMO. RAPHE EEL EA ha bk POR al
RIL EL AAR PE EN At EU
TEMOTEAH, AURAL T Sia VMI PRB Setter WI, VAAL AT DLE ARAL
{he SOK BE, (LD TEALPE AAT RATER, AS Bete F, RM Pit es BERR Setter
Ta AE ANAL FF AT RTE ORL10
Spring AT
46 J2EE BULGE, PTY AE BE TER. HE IZEE ABE, HTT THE
Aaa bP Sct Bee INDI fF 3C. dit INDI EP, ATLA) BIB APE HE
‘Wi, Let IDBC DataSource #il JMS ConnectionFactory « [4] 1-3 Sax J ZE J2BE YP i8Let INDI
API SEER) INDI FEAF) RB SY Z TAD ASE. 5
JOEE SREY ARSS 3
Bi Spring Application Framework DSi Heft 4e RE ToC HARA HDL, Rowe AD dae
DBERE TAT IE» BORIS» ALP GUAT SBE EL De iG SE RAE ACHAT CF Ue EH AE AS
PACER BLAIR KE. AAR NUTESS JL Ab BEA Ae A, DACA TT Se Be A EL
FPRRC ROBT. 7E JOBE fh Jave EE CFE, EF INDI EAT AY TR
PEARED TIE. WN, AIPA ARES LOC IM, SLT BAR A HOE A
1.3 RIE
HEAT ABI SEAS BR SUE IMF ER AT BAS IMA Ge HEBER EAT LE EER MET
FED ToC BABAR HOU EA, ATT PAPE ATPRI SEG, AUTEN
TURES BAR.
BREA TT WY RIE BEM PSE. AT MIS RRA ARS 5 HR PE RE A,
FB, ORI T Lh — Fp SRR EAI Da SE Ad EP RR AR BEE TP
BK. AK, APTOS AEM AD, DAR INDI bP SCPE RISE
HBL, FLACEMURRAL, FT DAE ACS HO HORA REC LEH Dy CEM SEAN EE
SUPRA, IFLA ASSET EATER ESOL, BL RY DE ASAE Se bi et YAS A SE AT
PUPRORL. FOU, ARASH API BEAT FEIT HL. PY LEA NR BI — PE
ae, AA ET EE BORAT DUET. Ga, SPASM ETRE Oe eH
Fa AR ETM Javea TB, PH tL Ls BE Te AT ALATA BE
FEED AT DEF PPE BRE ATI. ADT EMER BEA, APT IE Setter
HEA. AFIS AE RSA AT DAI SATA, JF ASCP ES EA.B1E POO MRRH, BERAM MISH RIE
1.3.1 Setter =A
4—TNRBA BIL GRA LH Setter 7d IEA CEA HY ER HR,
BBR, FFA AEM AZ HE. Alt, AEE SIR eSetter EM KA
AAG. A vSetterAikAJavaBeantlw hk — MW, HOS ABI I AY LA A AME
CSUR. DRE, ta A] LA JavaBean Ji HEE ATAU TESP ABI, LebnintaXbooleantii. ix
PE ama EARS, EACH LA te AR TD EP ES
Setter VE A Se HOSE OE ie EM HF OZ Ja AY ET ET AP CT HT DCE
SEAT INE. HSA VAT] LA BE PRHERY JavaBean FECAL ITA. PAU BL, HERE
HET Getter Al Setter FE K Vil CAMIMIRE. PIM, Jakarta Commons DBCP DataSource #2
BET —‘h ii FEN DataSource SCIR, fA. BY UA ZEA AS ih LT AY JavaBean J YEREAT HE.
WEEN, TLE PRHE JavaBean ATER AETLHIETROE RR. lin, ATARI A AHS
ROR PAE String HRA MENRAM, RA MIRA AT RB, EG
WRAE—A* Setter AAA —TPATIVAN Getter AV, ASAE AT ARAL AE AY SARA
AF, VME RSL» WRAL TEA) Re ABI TEAT RR IMEL, BA OY UL EAE 5 Hh EH Setter
TEAHETAC EE... (tts TROT UT
Setter EAR AAR ATAE: IFA LITA ath RBI ABH] EMT BEA, AAI
AUG FE ARTA ARAS. RSH F, UH Setter AMG AT REAE AS EE, TH ANT
FRIETEAP HIE PARI. te, ZEGUREDT BL, AARHEOL TASC BLHI ERIN IE i ibe
RARBG «
1.3.2 MiSBREA
JHA BEA, Bean FLA Ha ME BOK AIA RTL, ROPE AT DEALT
AEA HMO. FE, FRR MAR, HB BOE A. koh, WAY
DLIQEE A Hai PRLS BPE TE A EOE, Lea Be APR A AIC
Bi PRE ASAE AED BRIE BBB PE Pe RE TE BORA, OF
LCE UME Z JT VAG EA © 5AM kA A a: A BF BE
Setter HEA ST HaS HINGE > He.
POSE PRE A BAR A EA OE ER A SE TA, PRE
MATRA Setter (EAME RMS. WAAL MIE Ole SP A HE oe BT
RES NORAL, TERS PERE AIN. UEoh, SMR TREAT, PAE
AAAS AF A Sh ES IR 9 TAT HH
1.3.3 Setter EASMBBBUEA
Setter iA Ty v2 AUP it PR MOTE A TAB A, CEE RE A
ATTA A EN. AREY RA A BS SR, DHEA HT ETF AA A
NMG BOREMCES A CARMI S A. Alt, AP RE RABE OUR a —
MG RAMA, AMBER KM RRM SM. RIFE Setter WEA
ALAR AOC BLL. GSR EERE AT OT A PEAT SE, LU oe AYRE GUE Setter. 1oC
1Spring ATI
BEE SCV E TE BLA BE 1 FD EI ET HD PY 2 AF SPAS Dd HCE
Fb.
14
TEAR, BUNGE H T BORN EIB SRB ee CEB, HE a EES
Bi Java Ui A SEER —€$ a EEE EE AT eR. OREN EJB Sie 9
Tay EPA AE LAB JL atk: (LP RRA Bhs Zi SiS BE OR EN SAL; (2)EIB il J2EE
PARMAR (3) FETE IEE FA ZINE: (A) AEA CEA AE Z SEAT MCR IR,
(5) is SEALS KSLA TT LAT LARD; (IDE BEAR HG A J BLE BE RHE
FEF INSP. Sik, BUNA T bia Slay SB POO SiFEKUEAIT 4, POIO
‘Se EASA a Ay HR GGOKEN ESB Sie PEAY IT FEE LATA), LLB POO Sa FPA Gf) 448)
J2EE SRA BE Java EE HEHE.
Bia, AMET NAA Uke SAR J2EE BAR P est A IE
WAU RP ABS EE ER BEP . CET MAB) IEE FRSA ZI, BEALE RE
THAR, INET AMARA EY EA Be (rd BLL AD ARR
AF AE T WE UN fA EA AE
AEG MAA ESTATE ToC, FET ARENA DEORE. HIT IoC
aU Ay By FASE AL RI DR A SR PRET ZOE A: HOBIE ATE ToC 14
PEL, CAAA: Setter HA ANIA BGE A.
- 2.
AYLI PAS A PAREN FA BASSE
(1) BERL — FAAS AT THER. AAR PARROT, ALAS A BURT eB AD
Bi a?
(2) Bri) EIB aA HF T OBE ToC Fr?
(3) DRAG BUEA TIE AT AR “IR HH”, HEHE AY LA?
16 ABESARA
£8 BAIR
Plain Old Java Objects, ACHE AIRE ABE AS Fy BE ACE Amd PA SE A RE I BT HE
Wi Java HS, I LAS REATARD ES 5 A oR AT
POJO
EIB Enterprise JavaBean, J2EE *¥ €ft)4) 40k 20 FL
12£m
#1 POMBE. RERAB MEHR
(48)
ARARA
EE, Java EE
Jave 2 Enterprise Edition, —4*] LES PPAR RIERA AA HE — IEE EE Java
FANE EERIE. Java Enterprise Edition(Java EE)Jé Java 5 R45 ZIG
RB. EIB | BRAN AEE, CER TRA PEE SRE i, DA AR ERE
2B. Web 28 | AES
es CEREAL RFE BSS TGR, AE GAA PLS AR, LES. RE AES
BATE. PUA ER. RAL. RAIMI. BEF. ULAR KAT
CEGORN EIB Si BSR CEO, DUG PAT LR EIB Ate
ee
hott
wren 46 EIB SPAY EI — “MEO, DE PAT De EJB A ihe
Shite,
kiweo FAAP ARE , FT LAHSA Web [2A EIB fe Z [AME H(Web Jz Al EJB knit
ABA) 90 AA PEIF HRS Al IV)
alin rae Sh TRALAESS MHL, DATEL SALES EET
a
INDI EFX Eh Java EE SAAT FAY EPC, HE RCE, BP CLL SB AY HL (attribute)
RAP, FHA INDI KY ATR
ARAL BURNS, CNP EAE ALP A Shek, Leh
Het AECL) : :
TE: PIA, AER. K
seman ToC (AEF ISL AT ITE. ME TT HT AAR CEE ET LH. Je EH
EP 30( J2EE FRE AY INDI FC) A PER TL
Hobe. ToC RIA ARTA, ERIE, APE A HB, JF ALES Pre)
ESL hn Fe a He CTE OK
Setter EA — AMAT JavaBean $i Setter HM HABE A TIE
Hi BEA ARR T UIE PR IE AT{8 FA Spring HTT KMIEX
ABER:
AC HIF AEH Spring 72%
(HEAL AS AS AC 7G AK AC Spring 425
SL Ae ET
TE A SA 1) toe
Spring 428} HUT SEs Bean #4R
ETAL Bean Sei 73%
BARE T PALSY Bean LAB mT FAS PE Atak
>) 3238 Bean GET 1
SRR AE TAL
(87H) Bean 52 SURG BSC (PK GE AEE Bean ALE
BER ALU www.wrox.com/go/eginningspring 1 iif] Download Code #31
KF RAR. {ULF Chapter 2 download, 3f HARE PKA WET T tH »
ASHORE EES) 4H Mul {A 4 Spring Application Framework IV/UAKBNEA. HIE, KES
Spring #2876 REV GEIR BHT Ha MIRC CBE IAS AN Sh. ACHE LAE XML.
JET FEA (annotation) VA AEF Java HACE TOBE AIH CAB, DINERS EAT PA
YEA Dr —Seetter He AAU PR BE A — UI Ba PRET CE 2S 8 HC BTL A HB
FR. Ba, “ASUS Bean aM. Aap RALH EE MUR Ae ACA ABER.
HEE (EA Bie MIAN IAL, Spring PFEE AY Bean (19/4 ths MIL 4T TAS. AEWA T Spring
PSE, JEM T ANAM HE RAE REP ET. BEAT DA ed ate PSpring AiTat
4/8 Spring Bean(SY)#)4i44, eager initialization), tl BY LATE #7 BE Spring Bean (HY (eG AE
CACHE HIG TG, lazy initialization). CEA RE, (OKF EA ME Bean HAGA TENT BE,
BEATTIE RA Spring Ashe SNA AM Bean 92) L777.
Sha, ER SIF TSE AT Herta, Eee Spring 3.1 P8791 Af Bean x2 CAC
SCE ALA SEtinR (environment abstraction), HEB S| A HID BE AT LA FS HE BA AAR
FRESIAAT SY Ft EAS A PEA BE Bean 5E Xo
2.1 Spring loc BB
Spring Application Framework fiyOdE H oC AA. ACA TL MAE LTE LY
FERRERO AT SHE. BIEL REACHED ME th PRR EIA Sping DHfe.
FB NI, FYE BEG) BL cH Spring AeeRi GT SEAM BA Bean. BR EAE
JIN Java Xf R— th BEAK POIO, Ail FE rH Spring ASSAM, FEET EEL.
2.1.1 Bee
‘if 32 [A] Spring AAs EA e1n A, VES BIL Bean FFF XE Mul fal Rt Bean HEAT BEAL.
FER BENG ii BRN A BEC BG (configuration metadata). Spring 428 MSC SUR AAP
SiS AES RC TOMAR SE ATE ik, A RAV Bean. Al 2-1 Hilde THE
es
menue |
——>| . Spring 5
EIT RB
2-1
ACR CHR NITE SSC XML; Mild, XML FFAEME— AR SK, BRAT AT DP
FUSE EERE ANSEF Java (RCE CBN. AEERSEINAE, Spring 782040. FAC TCH A
Daub DAB CLLRS EPR AML GS, BRAS AY DU PAT] BOSD I Pee 2 AS Dd
SR. FIRST ASICS ESET XML [ACH CBE Ia a:
16382% (SFA Spring WEITHARIED
“com.wiley.beginningspring.ch2.~CA
dependencies of accountDao will be defined here
ZEIT, BTATIN Bean BE: N4E76 HK, ifi*F—4> Bean Wl F
TORIUMATIE X. Bean M4 Mth id HEE M. MARRY RAC CME PASE Bean x XAT
Diath MOK UI FIAAZEM Bean. ASB", accountService Bean 4 —/##K% accountDao ft)
Jmitte(property), TU ARE Mi AL T Bcd) accountDao Bean.
TR G4 BE — REP El SE A =
@service ("accountService")
public class AccountServiceImpl implements AccountService {
private AccountDao accountDao;
@autowired
public void setAccountDao(AccountDao accountDao) {
this.accountDao = accountDao;
)
@Repository ("accountDao")
public class AccountDaoInMemoryImpl implements AccountDao {
}
EGR AUS OH Java FEAR XM Bean. Sty A @Service Hi@Repository HK LAT
Beans iPM, CA] LEM @Component HAWS. best, YERF@Autowired ii 7 FH
ARE TEEAT IT BE Spring AAIVEAM Bean HoH. JET VERE RIAC A IGBGRZE Spring 2.5
RSA.
“RIAU Bata T AEF Java AC OR:
@configuration
public class Ch2BeanConfiguration {
@Bean
public AccountService accountService() {
AccountServiceImpl bean = new AccountServiceImp1 ();
bean. setAccountDao (accountDao()) 7
return bean;Spring Ai1# 8
)
@Bean
public AccountDao accountDao() {
AccountDaoInMemoryImpl bean = new AccountDaoInMemoryImpl () 7
//depedencies of accountDao bean will be injected here...
return bean;
}
EiR USE “8H @Configuration 7: (FH) Java KE X Bean. ZEA, —-“ME
FAYE @Bean MAS ATEN —* Bean ZX. HE, AUR AMAT Sid
PRBCKSEBIL Bean, 2 aa H IU Bean 2 STAR AB, JPR TUN OB
YEA Bean. 4EF Java AACE ICSE Spring 3.0 PRES|A.
ZEAE, REC Ce 5) BS AS SCE A AE, PEE
CEP HL, MUPCAPDI HASTA IP ALA AE. RST Be Tie BET
DOA DALE RE eT I Bean sz MCP ERR, te BY Dy He AR AY
AUR Ole Sb Bean fe MOCPP RRA. tk, RF —“MIEF Spring JF 22 fs Web
MARFA, Ms ABT UF Brat Bean 2 CIC Ree:
© beans-web.xml {2% ConfigurationForWeb 41% XT MN EEAY Web 2/25
"PATBRVE RS Bean.
© beans-service.xml 3¢{48% ConfigurationForService 1/32 XT WAFERS AL
3 Fe PEN Bean.
© ¢€ beans-dao.xml 3¢{'#% ConfigurationForDao 2K*f i XT VALERIE AO BGR Ui Ma
SAPeTE I Bean.
© beans-config.xml #% ConfigurationFor Config 2852 XT Pa LAA a4 ED EIT a
Bean.
© 7£ beans-security.xml 3¢ {2% ConfigurationForSecurity 26" QT FF Ree
‘VERPRIN Bean.
RESALE BY ESE AS ae FG BETES CR ESE APE
PRILOSEC A
FP ELD DNAS a BES DB SC A SCE
21.2 REMEAAR
Spring #28 tHSE—‘P Java IR, PERM se AUNT Te EE, I SCE a
SUE «AT RAST RY ORE AG Spring 2288. ZEBUCIIMA RSE, ATLL
FAS EEAT I, OCE Web EERIE HP, SEF FSH Ay TAU Je SE OF PES TP web.xml
SCE PE — HER PEK TE He)»
FIRST ARAY “ik —iR” BAS Tn fea EEF Java AAC BE EP A
Hi Spring 28. WM 2-2 Aras, ide MST OLAY Bean, BUMS St Mk — APS hee
Ub ARSE RITA MTR2% (FFA Spring METHMIEA
— -=S=S=Ssése
| rua
(ER)
BBR SM
(AccountService) (Account)
peared
(AccountDao)
7 22
CDRA, B-AOUSE FIST 2c, HF ALAN TAH EK
ALB RRAN Bean fUFASERR. GERARD EAE FE BCA AE
SMEAL ABR. FRA ST DOE FE A SLE, IP EAT A SERIE
PERRI SCL AEM ARSE Ea Ta, BE ASC a ye Fe
BAAD SRLU UN HT. Heh, NAPE RE IF RIE” ths BEA BEA Dl Es SF EO
AY 5 iMG SFC a A 0 Be I SOE A A BO Js RE A
HES cecmmmc rem Java RM ORAEM Spring Se
TEAR Ps BALD AE RT EE SEP HELE EF Spring (HI3EF Java ARC AA
ApplicationContext. HJLAZE spring-book-ch2.zip 3C{'FffY java-based-configuration 25H }+4R38)
WS. FR BRON FR ia:
(1) BEAR F fA tr 4 BB — Maven Ji A:
myn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes
-DgroupId=com.wiley.beginningspring -DartifactId-spring-book-ch2
(2) WER FIDTASH Spring BURA ATT MI, HE ETSI BI pom.xml EH:
org.springframework
spring-context
4.0.5.RELEASE
(3) fi —4-% % comwiley.beginning.spring.ch2 MAF, IPE HP ae o F Pray
Java &:
public class Account {
private long id;
private String ownerName;
private double balance;
private Date accessTime;
1920
Spring AIT
//getters & setters...
public interface AccountDao {
public void insert (Account account);
public void update (Account account);
public void update (List accounts);
public void delete (long accountId) +
public Account find(long accountId);
public List find (List account Ids);
public List find (String ownerName) ;
public List find (boolean locked) ;
public class AccountDaoInMemoryImpl implements AccountDao {
private Map accountsMap = new HashMap<>();
Account accountl = new Account ();
account1.setId(1L);
account1.setOwnerName ("John") ;
account1.setBalance (10.0);
Account account2 = new Account ();
account2.setId(2L);
account2.setOwnerName ("Mary") ;
account2.setBalance (20.0);
accountsMap.put (accountl.getId(), accountl);
account sMap.put (account2.getId(), account2);
}
@override
public void update (Account account) {
account sMap.put (account .getId(), account);
1
@override
public Account find(long accountId) {
return accountsMap.get (accountId) +
//other method implementations2B (EM Spring HTRMEN
public interface AccountService {
public void transferMoney (
long sourceAccountId, long targetAccountId, double amount) ;
public void depositMoney(long accountId, double amount)
throws Exception;
public Account getAccount (long accountId);
public class AccountServiceImpl implements AccountService {
private AccountDao accountDao;
public void setAccountDao(AccountDao accountDao) {
this.accountDao = accountDao;
@override
public void transferMoney(
long sourceAccountId, long targetAccountId, double amount) {
Account sourceAccount = accountDao. find (sourceaccount Id) ;
Account targetAccount = accountDao.find(targetAccount Id)
sourceAccount . setBalance (sourceAccount.getBalance() - amount);
targetAccount .setBalance(targetAccount.getBalance() + amount);
accountDao. update (sourceAccount) ;
accountDao. update (targetAccount) ;
@override
public void depositMoney(long accountId, double amount) throws Exception {
Account account = accountDao. find(accountId) ;
account .setBalance (account .getBalance() + amount);
accountDao. update (account)
@override
public Account getAccount (long accountId) {
return accountDao. find(accountId) ;
)
(4) CURA Bras thaE? Java ff) Bean x M2:
@configuration
public class Ch2BeanConfiguration {
@Bean
public AccountService accountService() {
AccountServiceImpl bean = new AccountServiceImp1();
bean. setAccountDao (accountDao()) ;
return bean;
2Spring AIT#8
@Bean
public AccountDao accountDao() {
AccountDaoInMemoryImpl bean = new AccountDaoInMemoryImpl() +
/{depedencies of accountDao bean will be injected here...
return bean;
)
(5) 4858 main Wik G)—7 Main 3K, FPR — APRA E ASE T Java MRL OR ED
Hii AS BOK Spring 2:
public class Main {
public static void main(string{] args) (
AnnotationConfigApplicationContext applicationContext =
new AnnotationConfigApplicationContext (Ch2BeanConfiguration.class) i
}
(6) 4 Spring #25 28] accountService Bean, 4 FH.
AccountService accountService
applicationContext .getBean ("accountService", AccountService.class);
System.out.print1n ("Before money transfer");
System.out.print1n("Account 1 balance :" +
accountService.getAccount (1) .getBalance()) i
System.out.println("Account 2 balance :" +
accountService.getAccount (2) .getBalance ()) i
accountService.transferMoney(1, 2, 5.0);
System.out.println ("After money transfer");
System.out.printin ("Account 1 balance :" +
accountService.getAccount (1) .getBalance());
System.out.printin ("Account 2 balance :" +
account Service.getAccount (2) .getBalance());
AREA
TAG, BATON T A449 Account [tse38. ¥8 Ja, P48 AccountDaolnMemorylmpl
28Ail AccountServicelmp! 6!) # T #1 AccountDao(*{\% DAO JZ)#il AccountService(Xf SAR
9 Jz). AccountService j*] [ —7s transferMoney Fiik, 7TH] LACE FA accountlds HiRht
PA Account RL li BA EMMI HE. AccountServicelmpl Mt BPURIA
Account xf & Ff 7E 7G RFE MK BR EZ Ja EK AE HK. Aste, AccountServicelmpl ‘i #i2% (EA Spring wttTiRME A
AccountDao #1, BEC FWA T HK CESS KE Account EBUTIEAE A BRE AIK FA
KFT Account efit) Finder FIAGHL LI HAE).
2 ja] —4+ 4 W Ch2BeanConfiguration ft Spring Bean 52 XI (HH org.springframework.
context.annotation.Configuration 7EAFUE TRIG. TERE VE Spring, %2i—~++ Bean Ff A
ARBRE. CARMA, BRET BTL) F73kIHE org springframework.context.
annotation.Bean {EAP IC. HLA CE AAR Spring AAA, TOPE
4 Spring #8) Bean. BAHL EF, AISA APR Bean 4M. MEL IEP,
ALVA Setter WA A eR, AGH A ARNE Bean JPAGRIA. Ie
Shy HOBIE HY LAI eh BS HAN TEST 6
HERR, SAPHIRA MO BETA ERR ER Ne PA an
AY, (PM AS AAA Bean SAKA AB. fli, HY LAYSINI—AS
WARM ATCHGRIN Bean EM, MAG LIKFIIILT AccountDao HH JDBC, [AlRt
AccountService Bean Vi%k (RH LE, MARYA ESET FEM Bean x METER.
(ny fe AVES, AccountService Bean ft) AccountDao ft HEH WE AccountServic()
FETA accountDao\ AEM. PHAM RAUA, WRI Hite SU
Hi accountDaoQ Hii&, MATERA ALMA SF accountDao Bean Sh? WR RALEE HE
Bean Pi} —4*32 BI (EA — ABHOR FURS ALARA HE Bean, Hb 2 ix aiid ANE —7MB AT fa
JS? LM GNSRARAMN, CARRS, EN —P Bean IFRS Bean
Bil BRUTE F, RES Bean 8847-7 BERK 0 9898 HEH (singleton scope)ft) 44S) (AS
TEAM eS EASA Bean FE FA 4%). Fl i Fg BE RELA 24M accountDao Bean fX)—73E
Bl, SPATE HAS ES PE. Spring ZEiZ1 By ASHI HR @Configuration
KI AMA @Bean HEMKES LAK, VEAL. WI, AAEM SOU
LT) Ftk&, EMM th@Configuration RP SUIT AIK, CAB— WAT Bean Si)
ZR OE BM Bean SEG). MPMI, COIR Bean
Sl.
BP OK, GM Spring Akh. WHTITA, Spring AA IL—T Java TR, FATE
80 NALS "PAYS B. org springframework.context.ApplicationContext #11 #75
Spring #4; 33k, AG Spring Container #l AppliationContext ii #4 AT IAC AE FA. AT
LAHRGR ApplicationContext 37/438 Bean AC GIG SCPE RRR HY Fi SRA Beh A ir
FEEL ApplicationContext 1% “SAS |AIM SEIRLZ. org.springframework.context.annotation.
AnnotationConfigApplicationContext ABH KALHAEF Java MACH TOMES. HR, CHL
PUET 4 ROT LE BM SHE HA S Ae ESS AnnotationConfigApplicationContext
K.
Spring 25(24 ii ApplicationContext) 4: HZ aA OES. Aa, ay bhai
Spring #453UR Bean, IMECHE AAA. TUK Spring HA Bean MMB
“Bean #r4R". ABE a LAF VEMT SPA Bean PEG. EAL HA ih SE UE HY LIL BIE:
fe] Bean (t)5|F. ApplicationContext.getBean() 15 AKAM Bean rik. PRT BARA
HEARN Bean ZZ, RERKKVSA, VEAP HBIPIA Bean HH A
23