Table Of ContentDocumentation de Référence
Version 1.1.4
(Work in progress)
Copyright (c) 2004 - Rod Johnson, Juergen Hoeller, Alef Arendsen, Colin Sampaleanu,
Darren Davison, Dmitriy Kopylenko, Thomas Risberg, Mark Pollack
Copiesofthisdocumentmaybemadeforyourownuseandfordistributiontoothers,providedthatyoudonot
chargeanyfeeforsuchcopiesandfurtherprovidedthateachcopycontainsthisCopyrightNotice,whether
distributedinprintorelectronically.
Table of Contents
Préface ................................................................................................................................................
1. Introduction ..................................................................................................................................
1.1. Vued'ensemble .................................................................................................................... 1
1.2. Scenariosd'utilisation ........................................................................................................... 2
2. Problématiquedefond ..................................................................................................................
2.1. InversiondeControle/InjectiondeDépendance .................................................................... 5
3. Beans,BeanFactoryetl'ApplicationContext .................................................................................
3.1. Introduction ......................................................................................................................... 6
3.2. BeanFactoryetBeanDefinitions-lesbases ............................................................................ 6
3.2.1. LaBeanFactory ......................................................................................................... 6
3.2.2. BeanDefinition .......................................................................................................... 7
3.2.3. Laclassedubean....................................................................................................... 8
3.2.4. Lesidentifiantsd'unbean(idet
name) .......................................................................................................................... 10
3.2.5. singletonoupassingleton .......................................................................................... 10
3.3. Propriétés,collaborateurs,détectionautomatiqueetvérificationdedépendance ....................... 11
3.3.1. Positionnementdespropriétésdebeansetcollaborateurs ............................................. 11
3.3.2. RésolutiondesArgumentsdeConstructeur ................................................................. 14
3.3.3. Lespropriétésdebeanetlesargumentsdeconstructeurdétaillés .................................. 15
3.3.4. InjectionparMéthode ................................................................................................ 18
3.3.5. Usingdepends-on ...................................................................................................... 20
3.3.6. Autowiringcollaborators............................................................................................ 20
3.3.7. Checkingfordependencies ......................................................................................... 21
3.4. Customizingthenatureofabean ........................................................................................... 22
3.4.1. Lifecycleinterfaces ................................................................................................... 22
3.4.2. Knowingwhoyouare ................................................................................................ 24
3.4.3. FactoryBean .............................................................................................................. 24
3.5. Abstractandchildbeandefinitions ........................................................................................ 24
3.6. InteractingwiththeBeanFactory ........................................................................................... 25
3.6.1. ObtainingaFactoryBean,notitsproduct ..................................................................... 26
3.7. CustomizingbeanswithBeanPostprocessors.......................................................................... 26
3.8. CustomizingbeanfactorieswithBeanFactoryPostprocessors .................................................. 27
3.8.1. ThePropertyPlaceholderConfigurer ............................................................................ 27
3.8.2. ThePropertyOverrideConfigurer ................................................................................ 28
3.9. RegisteringadditionalcustomPropertyEditors ....................................................................... 29
3.10. IntroductiontotheApplicationContext ................................................................................ 29
3.11. Addedfunctionalityofthe
ApplicationContext .................................................................................................................. 30
3.11.1. UsingtheMessageSource......................................................................................... 30
3.11.2. Propagatingevents ................................................................................................... 31
3.11.3. UsingresourceswithinSpring .................................................................................. 32
3.12. CustomizedbehaviorintheApplicationContext ................................................................... 33
3.12.1. ApplicationContextAwaremarker
interface ........................................................................................................................ 33
3.12.2. TheBeanPostProcessor ............................................................................................ 33
3.12.3. TheBeanFactoryPostProcessor ................................................................................. 33
3.12.4. ThePropertyPlaceholderConfigurer .......................................................................... 33
3.13. RegisteringadditionalcustomPropertyEditors ..................................................................... 34
SpringFrameworkVersion1.1.4 ii
Spring-FrameworkApplicatifJava/J2EE
3.14. Settingabeanpropertyorconstructorargfromaproperty
expression ............................................................................................................................... 35
3.15. Settingabeanpropertyorconstructorargfromafield
value ....................................................................................................................................... 35
3.16. Invokinganothermethodandoptionallyusingthereturn
value. ...................................................................................................................................... 36
3.17. ImportingBeanDefinitionsfromOneFileIntoAnother ....................................................... 37
3.18. CreatinganApplicationContextfromawebapplication ........................................................ 38
3.19. Gluecodeandtheevilsingleton .......................................................................................... 38
3.19.1. UsingSingletonBeanFactoryLocatorand
ContextSingletonBeanFactoryLocator ............................................................................. 39
4. PropertyEditors,databinding,validationandtheBeanWrapper .................................................
4.1. Introduction ......................................................................................................................... 40
4.2. BindingdatausingtheDataBinder ........................................................................................ 40
4.3. BeanmanipulationandtheBeanWrapper............................................................................... 40
4.3.1. Settingandgettingbasicandnestedproperties ............................................................ 41
4.3.2. Built-inPropertyEditors,converting
types ............................................................................................................................. 42
4.3.3. Otherfeaturesworthmentioning................................................................................. 44
5. SpringAOP:AspectOrientedProgrammingwithSpring .............................................................
5.1. Concepts .............................................................................................................................. 45
5.1.1. AOPconcepts ........................................................................................................... 45
5.1.2. SpringAOPcapabilitiesandgoals .............................................................................. 46
5.1.3. AOPProxiesinSpring ............................................................................................... 47
5.2. PointcutsinSpring ............................................................................................................... 47
5.2.1. Concepts ................................................................................................................... 48
5.2.2. Operationsonpointcuts ............................................................................................. 48
5.2.3. Conveniencepointcutimplementations ....................................................................... 49
5.2.4. Pointcutsuperclasses ................................................................................................. 50
5.2.5. Custompointcuts ....................................................................................................... 50
5.3. AdvicetypesinSpring.......................................................................................................... 51
5.3.1. Advicelifecycles ....................................................................................................... 51
5.3.2. AdvicetypesinSpring ............................................................................................... 51
5.4. AdvisorsinSpring................................................................................................................ 56
5.5. UsingtheProxyFactoryBeantocreateAOPproxies ............................................................... 56
5.5.1. Basics ....................................................................................................................... 56
5.5.2. JavaBeanproperties ................................................................................................... 57
5.5.3. Proxyinginterfaces .................................................................................................... 57
5.5.4. Proxyingclasses ........................................................................................................ 59
5.6. Convenientproxycreation .................................................................................................... 59
5.6.1. TransactionProxyFactoryBean .................................................................................... 60
5.6.2. EJBproxies ............................................................................................................... 61
5.7. Conciseproxydefinitions ..................................................................................................... 61
5.8. CreatingAOPproxiesprogrammaticallywiththeProxyFactory .............................................. 62
5.9. Manipulatingadvisedobjects ................................................................................................ 62
5.10. Usingthe"autoproxy"facility ............................................................................................. 64
5.10.1. Autoproxybeandefinitions ...................................................................................... 64
5.10.2. Usingmetadata-drivenauto-proxying ....................................................................... 66
5.11. UsingTargetSources........................................................................................................... 67
5.11.1. Hotswappabletargetsources .................................................................................... 68
5.11.2. Poolingtargetsources .............................................................................................. 68
5.11.3. Prototype"targetsources .......................................................................................... 70
SpringFrameworkVersion1.1.4 iii
Spring-FrameworkApplicatifJava/J2EE
5.12. DefiningnewAdvicetypes ................................................................................................. 70
5.13. Furtherreadingandresources .............................................................................................. 70
5.14. Roadmap ........................................................................................................................... 71
6. Intégrationd'AspectJ ....................................................................................................................
6.1. Vued'ensemble .................................................................................................................... 72
6.2. Configurationdesaspectsd'AspectJenutilisantleconteneurIoCdeSpring ............................. 72
6.2.1. "Singleton"aspects .................................................................................................... 72
6.2.2. Non-singletonaspects ................................................................................................ 73
6.2.3. Gotchas .................................................................................................................... 73
6.3. UsingAspectJpointcutstotargetSpringadvice ..................................................................... 73
6.4. SpringaspectsforAspectJ .................................................................................................... 74
7. Transactionmanagement ..............................................................................................................
7.1. TheSpringtransactionabstraction ......................................................................................... 75
7.2. Transactionstrategies ........................................................................................................... 76
7.3. Programmatictransactionmanagement .................................................................................. 79
7.3.1. UsingtheTransactionTemplate .................................................................................. 79
7.3.2. UsingthePlatformTransactionManager ...................................................................... 79
7.4. Declarativetransactionmanagement ...................................................................................... 80
7.4.1. BeanNameAutoProxyCreator,
anotherdeclarativeapproach ........................................................................................... 82
7.5. Choosingbetweenprogrammaticanddeclarativetransaction
management ............................................................................................................................ 83
7.6. Doyouneedanapplicationserverfortransaction
management?........................................................................................................................... 83
7.7. Commonproblems ............................................................................................................... 84
8. SourceLevelMetadataSupport ....................................................................................................
8.1. Source-levelmetadata........................................................................................................... 85
8.2. Spring'smetadatasupport ..................................................................................................... 86
8.3. IntegrationwithJakartaCommonsAttributes ......................................................................... 87
8.4. MetadataandSpringAOPautoproxying ................................................................................ 88
8.4.1. Fundamentals ............................................................................................................ 88
8.4.2. Declarativetransactionmanagement ........................................................................... 89
8.4.3. Pooling ..................................................................................................................... 89
8.4.4. Custommetadata ....................................................................................................... 90
8.5. UsingattributestominimizeMVCwebtierconfiguration ....................................................... 91
8.6. Otherusesofmetadataattributes ........................................................................................... 93
8.7. AddingsupportforadditionalmetadataAPIs ......................................................................... 93
9. DAOsupport .................................................................................................................................
9.1. Introduction ......................................................................................................................... 95
9.2. ConsistentExceptionHierarchy ............................................................................................ 95
9.3. ConsistentAbstractClassesforDAOSupport ........................................................................ 96
10. DataAccessusingJDBC..............................................................................................................
10.1. Introduction ....................................................................................................................... 97
10.2. UsingtheJDBCCoreclassestocontrolbasicJDBCprocessingand
errorhandling .......................................................................................................................... 97
10.2.1. JdbcTemplate .......................................................................................................... 97
10.2.2. DataSource.............................................................................................................. 98
10.2.3. SQLExceptionTranslator .......................................................................................... 98
10.2.4. ExecutingStatements ............................................................................................... 99
10.2.5. RunningQueries ...................................................................................................... 99
10.2.6. Updatingthedatabase .............................................................................................. 100
10.3. Controllinghowweconnecttothedatabase ......................................................................... 101
SpringFrameworkVersion1.1.4 iv
Spring-FrameworkApplicatifJava/J2EE
10.3.1. DataSourceUtils ...................................................................................................... 101
10.3.2. SmartDataSource ..................................................................................................... 101
10.3.3. AbstractDataSource ................................................................................................. 101
10.3.4. SingleConnectionDataSource ................................................................................... 101
10.3.5. DriverManagerDataSource ....................................................................................... 101
10.3.6. DataSourceTransactionManager ............................................................................... 102
10.4. ModelingJDBCoperationsasJavaobjects .......................................................................... 102
10.4.1. SqlQuery ................................................................................................................. 102
10.4.2. MappingSqlQuery ................................................................................................... 102
10.4.3. SqlUpdate ............................................................................................................... 103
10.4.4. StoredProcedure ...................................................................................................... 104
10.4.5. SqlFunction ............................................................................................................. 105
11. DataAccessusingO/RMappers ..................................................................................................
11.1. Introduction ....................................................................................................................... 106
11.2. Hibernate ........................................................................................................................... 107
11.2.1. ResourceManagement ............................................................................................. 107
11.2.2. ResourceDefinitionsinanApplicationContext ......................................................... 107
11.2.3. InversionofControl:TemplateandCallback ............................................................. 108
11.2.4. ApplyinganAOPInterceptorInsteadofaTemplate .................................................. 109
11.2.5. ProgrammaticTransactionDemarcation .................................................................... 110
11.2.6. DeclarativeTransactionDemarcation ........................................................................ 111
11.2.7. TransactionManagementStrategies .......................................................................... 113
11.2.8. ContainerResourcesversusLocalResources ............................................................. 114
11.2.9. Samples .................................................................................................................. 115
11.3. JDO ................................................................................................................................... 115
11.4. iBATIS .............................................................................................................................. 115
11.4.1. Overviewanddifferencesbetween1.3.xand2.0 ........................................................ 115
11.4.2. SettinguptheSqlMap .............................................................................................. 116
11.4.3. UsingSqlMapDaoSupport ........................................................................................ 117
11.4.4. Transactionmanagement .......................................................................................... 117
12. Webframework ..........................................................................................................................
12.1. Introductiontothewebframework ...................................................................................... 118
12.1.1. PluggabilityofMVCimplementation........................................................................ 118
12.1.2. FeaturesofSpringMVC .......................................................................................... 119
12.2. TheDispatcherServlet......................................................................................................... 119
12.3. Controllers ......................................................................................................................... 121
12.3.1. AbstractControllerandWebContentGenerator ........................................................... 122
12.3.2. Othersimplecontrollers ........................................................................................... 123
12.3.3. TheMultiActionController ....................................................................................... 123
12.3.4. CommandControllers ............................................................................................... 125
12.4. Handlermappings .............................................................................................................. 125
12.4.1. BeanNameUrlHandlerMapping ................................................................................ 126
12.4.2. SimpleUrlHandlerMapping ...................................................................................... 127
12.4.3. AddingHandlerInterceptors ..................................................................................... 127
12.5. Viewsandresolvingthem ................................................................................................... 129
12.5.1. ViewResolvers ........................................................................................................ 129
12.6. Usinglocales...................................................................................................................... 130
12.6.1. AcceptHeaderLocaleResolver ................................................................................... 130
12.6.2. CookieLocaleResolver ............................................................................................. 130
12.6.3. SessionLocaleResolver ............................................................................................ 131
12.6.4. LocaleChangeInterceptor ......................................................................................... 131
12.7. Usingthemes ..................................................................................................................... 131
SpringFrameworkVersion1.1.4 v
Spring-FrameworkApplicatifJava/J2EE
12.8. Spring'smultipart(fileupload)support ................................................................................. 131
12.8.1. Introduction............................................................................................................. 131
12.8.2. UsingtheMultipartResolver ..................................................................................... 132
12.8.3. Handlingafileuploadinaform ................................................................................ 132
12.9. Handlingexceptions ........................................................................................................... 134
12.10. Commonlyusedutilities.................................................................................................... 134
12.10.1. Alittlestoryaboutthepathmatcher ......................................................................... 134
13. Integratingviewtechnologies ......................................................................................................
13.1. Introduction ....................................................................................................................... 135
13.2. JSP&JSTL ....................................................................................................................... 135
13.2.1. Viewresolvers......................................................................................................... 135
13.2.2. 'Plain-old'JSPsversusJSTL ..................................................................................... 135
13.2.3. Additionaltagsfacilitatingdevelopment ................................................................... 136
13.3. Tiles .................................................................................................................................. 136
13.3.1. Dependencies .......................................................................................................... 136
13.3.2. HowtointegrateTiles .............................................................................................. 136
13.4. Velocity&FreeMarker ....................................................................................................... 137
13.4.1. Dependencies .......................................................................................................... 137
13.4.2. Contextconfiguration .............................................................................................. 138
13.4.3. Creatingtemplates ................................................................................................... 138
13.4.4. Advancedconfiguration ........................................................................................... 139
13.4.5. Bindsupportandformhandling ................................................................................ 140
13.5. XSLT ................................................................................................................................ 145
13.5.1. MyFirstWords ....................................................................................................... 145
13.5.2. Summary ................................................................................................................ 147
13.6. Documentviews(PDF/Excel) ............................................................................................. 148
13.6.1. Introduction............................................................................................................. 148
13.6.2. Configurationandsetup ........................................................................................... 148
13.7. Tapestry ............................................................................................................................. 150
13.7.1. Architecture ............................................................................................................ 150
13.7.2. Implementation ....................................................................................................... 151
13.7.3. Summary ................................................................................................................ 156
13.8. JasperReports ..................................................................................................................... 156
13.8.1. Dependencies .......................................................................................................... 156
13.8.2. Configuration .......................................................................................................... 157
13.8.3. PopulatingtheModelAndView ................................................................................. 158
14. JMS .............................................................................................................................................
14.1. Introduction ....................................................................................................................... 160
14.2. Unificationdesdomaines .................................................................................................... 160
14.3. JmsTemplate ...................................................................................................................... 160
14.3.1. ConnectionFactory................................................................................................... 161
14.3.2. Gestiondestransactions ........................................................................................... 161
14.3.3. Gestiondesdestinations ........................................................................................... 162
14.4. UtilisationdeJmsTemplate ................................................................................................. 163
14.4.1. Envoid'unmessage ................................................................................................. 163
14.4.2. Réceptionsynchrone ................................................................................................ 164
14.4.3. UtilisationdesMessageConverters ........................................................................... 164
14.4.4. SessionCallbacketProducerCallback ........................................................................ 165
15. AccessingandimplementingEJBs ..............................................................................................
15.1. AccessingEJBs .................................................................................................................. 166
15.1.1. Concepts ................................................................................................................. 166
15.1.2. AccessinglocalSLSBs ............................................................................................ 166
SpringFrameworkVersion1.1.4 vi
Spring-FrameworkApplicatifJava/J2EE
15.1.3. AccessingremoteSLSBs ......................................................................................... 168
15.2. UsingSpringconvenienceEJBimplementationclasses ......................................................... 168
16. RemotingandwebservicesusingSpring .....................................................................................
16.1. Introduction ....................................................................................................................... 171
16.2. ExposingservicesusingRMI .............................................................................................. 172
16.2.1. ExportingtheserviceusingtheRmiServiceExporter .................................................. 172
16.2.2. Linkingintheserviceattheclient............................................................................. 172
16.3. UsingHessianorBurlaptoremotelycallservicesviaHTTP ................................................. 173
16.3.1. WiringuptheDispatcherServletforHessian ............................................................. 173
16.3.2. ExposingyourbeansbyusingtheHessianServiceExporter ......................................... 173
16.3.3. Linkingintheserviceontheclient............................................................................ 174
16.3.4. UsingBurlap ........................................................................................................... 174
16.3.5. ApplyingHTTPbasicauthenticationtoaserviceexposedthroughHessianorBurlap
............................................................................................................................................ 174
16.4. ExposingservicesusingHTTPinvokers .............................................................................. 175
16.4.1. Exposingtheserviceobject ...................................................................................... 175
16.4.2. Linkingintheserviceattheclient............................................................................. 175
16.5. Considerationswhenchoosingatechnology ......................................................................... 176
17. SendingEmailwithSpringmailabstractionlayer.......................................................................
17.1. Introduction ....................................................................................................................... 177
17.2. Springmailabstractionstructure ......................................................................................... 177
17.3. UsingSpringmailabstraction.............................................................................................. 178
17.3.1. PluggableMailSenderimplementations ..................................................................... 180
17.4. UsingtheJavaMailMimeMessageHelper ............................................................................ 180
17.4.1. CreatingasimpleMimeMessageandsendingit ......................................................... 180
17.4.2. Sendingattachmentsandinlineresources .................................................................. 181
18. SchedulingjobsusingQuartzorTimer .......................................................................................
18.1. Introduction ....................................................................................................................... 182
18.2. UsingtheOpenSymphonyQuartzScheduler ........................................................................ 182
18.2.1. UsingtheJobDetailBean .......................................................................................... 182
18.2.2. UsingtheMethodInvokingJobDetailFactoryBean ...................................................... 183
18.2.3. WiringupjobsusingtriggersandtheSchedulerFactoryBean ...................................... 184
18.3. UsingJDKTimersupport ................................................................................................... 184
18.3.1. Creatingcustomtimers ............................................................................................ 185
18.3.2. UsingtheMethodInvokingTimerTaskFactoryBean .................................................... 185
18.3.3. Wrappingup:settingupthetasksusingtheTimerFactoryBean ................................... 186
A. Spring'sbeans.dtd ..........................................................................................................................
SpringFrameworkVersion1.1.4 vii
Préface
Développerdesapplicationsestsuffisamentdurmêmeavecdebonsoutilsetdebonnestechnologies.
Implémenterdesapplicationsenutilisantdesplatformesquipromettenttout,peuts'avérerlourd,difficileà
contrôleretpastrèsefficacedurantlescyclesdedéveloppement,peutdeveniruncauchemar.Springfournit
unesolutionlégèrepourconstruiredesapplicationsprêtesàl'emploipourlesentreprisestoutensupportant
encorelapossibilitéd'utiliserlagestiondestransactionsdéclaratives,l'accèsdistantàlalogiqueapplicativeen
utilisantRMIoulesservicesweb,lesfacilitéspourlamessagerieetdespossibilitésvariéespourpersistervos
donnéesenbase.SpringfournitunframeworkMVC,desmanièrestransparentespourintégrerl'AOPdansvos
applicationsetunehiérarchied'exceptionsbienstructuréeincluantunmappageautomatiqueàpartirdes
hiérarchiesd'exceptionspropriétaires.
Springpeutêtrepotentiellementunesolutionglobalepourtouteslesapplicationsd'entreprises,cependant,
Springestmodulaire,permettantainsid'utiliserdespartiessansavoiràapporterlereste.Vouspouvezutiliser
leconteneurdebeans,avecStrutspardessus,maisvouspouvezégalementchoisirden'utiliserquel'intégration
avecHibernateoulacouched'abstractionJDBC.Springn'estpasintrusif,cequisignifiequ'iln'yaaucune
dépendancevis-à-visduframeworkouqu'ellessontréduitesauminimumnécessairesuivantl'utilisation.
CedocumentfournitunguidederéférencepourlesmécanismesdeSpring.Puisquecedocumentestencoreun
travailencoursderéalisation,sivousavezdesdemandesoudescommentaires,veuillezlespostersurleslistes
dediffusionouleforumsurlapageduprojetsurSourceforge:http://www.sf.net/projects/springframework
Avantdepoursuivre,quelquesmotsdegratitude:ChrisBauer(del'équiped'Hibernate)apréparéetadapté
l'applicationDocBook-XSLpourpermettrelacréationdumanuelderéférenced'Hibernateetnouspermettant
égalementdecréerlenotre.
SpringFrameworkVersion1.1.4 viii
Chapter 1. Introduction
1.1. Vue d'ensemble
Springcontientungrandnombredefonctionnalitésetdedispositifs,quisontbienorganisésdansseptmodules
commedécritsurlediagrammesuivant.Cettesectiondécritchaquemoduleàtourderôle.
Vued'ensembleduframeworkSpring
LepackageCoreestlapartielaplusfondamentaleduframeworketfournitlafonctionnalitéInjectionde
Dépendance,vouspermettantdegérerleconteneurdebeans.LeconceptdebaseiciestlaBeanFactoryqui
fournituneimplémentationdypatternfabriquetoutensupprimantlanécessitédeprogrammerdessingletonset
permettentdedécouplerlaconfigurationetlaspécificationdesdépendancesdelalogiqueapplicative
elle-même.
AusommetdupackageCoresetrouvelepackageContext,fournissantunmoyend'accéderauxbeansàla
manièred'unframeworkressemblantàunregistreJNDI.Lepackagecontexthéritedesfonctionnalitésdu
packagebeansetajoutelesupportdesmessages(i.e."resourcebundles"),lapropagationd'événements,le
chargementdesressourcesetlacréationtransparentedecontextes,parexemple,parunconteneurdeservlets.
LepackageDAOfournitunniveaud'abstractionàJDBCquisupprimelebesoindecodeJDBCpénibleetde
gérerlescodeserreursspécifiquesauxbasesdedonnées.Deplus,lepackageJDBCfournitunmoyendegérer
lestransactionsdemanièredéclarativeouparlaprogrammationpasseulementpourlesclassesimplémentant
desinterfacesspécifiquesmaispourtouslesPOJOs(plainoldjavaobjects).
LepackageORMfournitdesniveauxd'abstractionpourl'intégrationdesoutilspopulairesdemappage
objet-relationnelcommeJDO,HibernateetiBatis.EnutilisantlepackageORM,vouspouvezutilisertousces
outilsencombinaisondetouteslesautresfonctionnalitésqu'offreSpring,commenotammentlagestion
déclarativedestransactionsmentionnéeprécédemment.
LepackageAOPdeSpringfournituneimplémentationdelaprogrammationorientéeaspectconformeàAOP
Alliancequipermetparexemple,dedéfinirdesintercepteursdeméthodesetdespointsdejonctionen
découplantproprementlecodefonctionnelquidevraitêtrebienséparé.Enutilisantlesannotationsauniveau
SpringFrameworkVersion1.1.4 1
Introduction
dessources,ilestpossibled'intégrertoutesorted'informationsdanslecode,unpeucommeaveclesattributs
.Net.
LepackageWebdeSpringfournitdesfonctionnalitésd'intégrationdebasepourlesapplicationswebcommela
gestiondesrequêtesmultipart,l'initialisationdescontextesenutilisantleslistenersdesservletsetuncontexte
d'applicationorientéweb.PourutiliserSpringavecWebWorkouStruts,ilestindispensabled'intégrerce
package.
LepackageWebMVCdeSpringfournituneimplémentationModel-View-Controllerpourlesapplicationsweb.
SpringMVCn'estpasuneimplémentationcommelesautres,carellefournituneséparationnetteentrelecode
dumodèleetlesformulaireswebetpermetd'utilisertouteslesautresfonctionnalitésduframeworkSpring
commelavalidation.
1.2. Scenarios d'utilisation
Aveclesmodulesdécritsci-dessus,ilestpossibled'utiliserSpringdanstoutesortedescénariosallantdes
appletsauxapplicationsd'entreprisecomplexesutilisantlafonctionnalitédegestiondestransactiondeSpring
etleframeworkweb.
ApplicationwebtypiquebaséesurSpring
UneapplicationwebtypiqueutiliselaplupartdesfonctionnalitésdeSpring.Enutilisant
TransactionProxyFactoryBeans,l'applicationwebestcomplètementtransactionnellecommeellel'auraitété
enutilisantlestransactionsgéréesparleconteneurdesEJBs.Toutelalogiquemétierpeutêtreimplémentéeen
utilisantdesPOJOssimplesgérésparleconteneurd'InjectiondeDépendancedeSpring.Desservices
additionnelscommel'envoidemessagesetlavalidation,indépendantedelacoucheweb,permettentdechoisir
quandexécuterlesrèglesdevalidation.LesupportdeSpringpourlesORMsestintégréavecHibernate,JDO,
iBatis.Enutilisant,parexemple,HibernateDaoSupport,ilestpossiblederéutiliservosmappagesexistants.
Lescontroleursdeformulairess'intègrentdemanièretransparentesdanslacouchewebaveclemodèle,
supprimantdecefaitlebesoind'ActionFormsoud'autresclassestransformantlesparamètresHTTPenvaleurs
disponiblespourlemodèle.
SpringFrameworkVersion1.1.4 2
Description:Spring Framework Version 1.1.4 . Spring AOP: Aspect Oriented Programming with Spring . Spring - Framework Applicatif Java/J2EE. Spring