ebook img

The Spring Framework - Reference Documentation PDF

590 Pages·2012·4.31 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview The Spring Framework - Reference Documentation

The Spring Framework - Reference Documentation Version 2.5.6 Copyright © 2004-2008 Rod Johnson, Juergen Hoeller, Alef Arendsen, Colin Sampaleanu, Rob Harrop, Thomas Risberg, Darren Davison, Dmitriy Kopylenko, Mark Pollack, Thierry Templier, Erwin Vervaet, Portia Tung, Ben Hale, Adrian Colyer, John Lewis, Costin Leau, Mark Fisher, Sam Brannen, Ramnivas Laddad, Arjen Poutsma Copiesofthisdocumentmaybemadeforyourownuseandfordistributiontoothers,providedthatyoudonot chargeanyfeeforsuchcopiesandfurtherprovidedthateachcopycontainsthisCopyrightNotice,whether distributedinprintorelectronically. Preface...............................................................................................................................................x.v 1.Introduction...................................................................................................................................16 1.1.Overview..............................................................................................................................16 1.2.Usagescenarios ....................................................................................................................18 2.What'snewinSpring2.0and2.5? .................................................................................................21 2.1.Introduction..........................................................................................................................21 2.2.TheInversionofControl(IoC)container ................................................................................21 2.2.1.Newbeanscopes........................................................................................................21 2.2.2.EasierXMLconfiguration...........................................................................................22 2.2.3.ExtensibleXMLauthoring..........................................................................................22 2.2.4.Annotation-drivenconfiguration..................................................................................22 2.2.5.Autodetectingcomponentsintheclasspath ..................................................................22 2.3.AspectOrientedProgramming(AOP) ....................................................................................23 2.3.1.EasierAOPXMLconfiguration ..................................................................................23 2.3.2.Supportfor@AspectJaspects .....................................................................................23 2.3.3.Supportforbeannamepointcutelement ......................................................................23 2.3.4.SupportforAspectJload-timeweaving........................................................................23 2.4.TheMiddleTier....................................................................................................................23 2.4.1.EasierconfigurationofdeclarativetransactionsinXML ...............................................23 2.4.2.FullWebSpheretransactionmanagementsupport.........................................................24 2.4.3.JPA...........................................................................................................................24 2.4.4.AsynchronousJMS.....................................................................................................24 2.4.5.JDBC........................................................................................................................24 2.5.TheWebTier........................................................................................................................25 2.5.1.SensibledefaultinginSpringMVC .............................................................................25 2.5.2.Portletframework.......................................................................................................25 2.5.3.Annotation-basedcontrollers.......................................................................................25 2.5.4.AformtaglibraryforSpringMVC .............................................................................25 2.5.5.Tiles2support ...........................................................................................................25 2.5.6.JSF1.2support ..........................................................................................................26 2.5.7.JAX-WSsupport........................................................................................................26 2.6.Everythingelse.....................................................................................................................26 2.6.1.Dynamiclanguagesupport..........................................................................................26 2.6.2.Enhancedtestingsupport ............................................................................................26 2.6.3.JMXsupport..............................................................................................................26 2.6.4.DeployingaSpringapplicationcontextasJCAadapter.................................................27 2.6.5.Taskscheduling .........................................................................................................27 2.6.6.Java5(Tiger)support.................................................................................................27 2.7.MigratingtoSpring2.5..........................................................................................................27 2.7.1.Changes.....................................................................................................................28 2.8.Updatedsampleapplications..................................................................................................30 2.9.Improveddocumentation.......................................................................................................30 I.CoreTechnologies............................................................................................................................31 3.TheIoCcontainer ..................................................................................................................32 3.1.Introduction..................................................................................................................32 3.2.Basics-containersandbeans.........................................................................................32 3.2.1.Thecontainer.....................................................................................................33 3.2.2.Instantiatingacontainer......................................................................................34 3.2.3.Thebeans ..........................................................................................................35 3.2.4.Usingthecontainer.............................................................................................39 3.3.Dependencies................................................................................................................40 3.3.1.Injectingdependencies........................................................................................40 SpringFramework(2.5.6) ii TheSpringFramework-ReferenceDocumentation 3.3.2.Dependenciesandconfigurationindetail .............................................................45 3.3.3.Usingdepends-on..............................................................................................54 3.3.4.Lazily-instantiatedbeans.....................................................................................54 3.3.5.Autowiringcollaborators ....................................................................................55 3.3.6.Checkingfordependencies..................................................................................57 3.3.7.MethodInjection................................................................................................58 3.4.Beanscopes..................................................................................................................61 3.4.1.Thesingletonscope............................................................................................62 3.4.2.Theprototypescope ...........................................................................................63 3.4.3.Singletonbeanswithprototype-beandependencies...............................................64 3.4.4.Theotherscopes.................................................................................................64 3.4.5.Customscopes...................................................................................................68 3.5.Customizingthenatureofabean....................................................................................70 3.5.1.Lifecyclecallbacks.............................................................................................70 3.5.2.Knowingwhoyouare.........................................................................................74 3.6.Beandefinitioninheritance ............................................................................................76 3.7.Containerextensionpoints.............................................................................................77 3.7.1.CustomizingbeansusingBeanPostProcessors....................................................78 3.7.2.CustomizingconfigurationmetadatawithBeanFactoryPostProcessors ...............80 3.7.3.CustomizinginstantiationlogicusingFactoryBeans ............................................83 3.8.TheApplicationContext..............................................................................................84 3.8.1.BeanFactoryorApplicationContext?................................................................84 3.8.2.InternationalizationusingMessageSources ..........................................................85 3.8.3.Events...............................................................................................................88 3.8.4.Convenientaccesstolow-levelresources.............................................................89 3.8.5.ConvenientApplicationContextinstantiationforwebapplications ......................90 3.9.Gluecodeandtheevilsingleton.....................................................................................91 3.10.DeployingaSpringApplicationContextasaJ2EERARfile ..........................................91 3.11.Annotation-basedconfiguration....................................................................................92 3.11.1.@Required........................................................................................................93 3.11.2.@Autowired......................................................................................................93 3.11.3.Fine-tuningannotation-basedautowiringwithqualifiers .....................................95 3.11.4.CustomAutowireConfigurer.............................................................................99 3.11.5.@Resource........................................................................................................100 3.11.6.@PostConstructand@PreDestroy ....................................................................101 3.12.Classpathscanningformanagedcomponents ................................................................102 3.12.1.@Componentandfurtherstereotypeannotations ...................................................102 3.12.2.Auto-detectingcomponents...............................................................................102 3.12.3.Usingfilterstocustomizescanning....................................................................103 3.12.4.Namingautodetectedcomponents......................................................................104 3.12.5.Providingascopeforautodetectedcomponents ..................................................105 3.12.6.Providingqualifiermetadatawithannotations ....................................................105 3.13.RegisteringaLoadTimeWeaver .....................................................................................106 4.Resources...............................................................................................................................107 4.1.Introduction..................................................................................................................107 4.2.TheResourceinterface..................................................................................................107 4.3.Built-inResourceimplementations ................................................................................108 4.3.1.UrlResource......................................................................................................108 4.3.2.ClassPathResource...........................................................................................108 4.3.3.FileSystemResource..........................................................................................109 4.3.4.ServletContextResource...................................................................................109 4.3.5.InputStreamResource........................................................................................109 SpringFramework(2.5.6) iii TheSpringFramework-ReferenceDocumentation 4.3.6.ByteArrayResource...........................................................................................109 4.4.TheResourceLoader.....................................................................................................109 4.5.TheResourceLoaderAwareinterface ..............................................................................110 4.6.Resourcesasdependencies............................................................................................111 4.7.ApplicationcontextsandResourcepaths........................................................................111 4.7.1.Constructingapplicationcontexts........................................................................111 4.7.2.Wildcardsinapplicationcontextconstructorresourcepaths ..................................112 4.7.3.FileSystemResourcecaveats..............................................................................114 5.Validation,Data-binding,theBeanWrapper,andPropertyEditors..........................................116 5.1.Introduction..................................................................................................................116 5.2.ValidationusingSpring'sValidatorinterface.................................................................116 5.3.Resolvingcodestoerrormessages .................................................................................118 5.4.BeanmanipulationandtheBeanWrapper ........................................................................118 5.4.1.Settingandgettingbasicandnestedproperties .....................................................118 5.4.2.Built-inPropertyEditorimplementations..............................................................120 6.AspectOrientedProgrammingwithSpring ...........................................................................126 6.1.Introduction..................................................................................................................126 6.1.1.AOPconcepts ....................................................................................................126 6.1.2.SpringAOPcapabilitiesandgoals.......................................................................128 6.1.3.AOPProxies......................................................................................................129 6.2.@AspectJsupport.........................................................................................................129 6.2.1.Enabling@AspectJSupport................................................................................129 6.2.2.Declaringanaspect.............................................................................................130 6.2.3.Declaringapointcut ...........................................................................................130 6.2.4.Declaringadvice ................................................................................................136 6.2.5.Introductions......................................................................................................142 6.2.6.Aspectinstantiationmodels.................................................................................143 6.2.7.Example............................................................................................................143 6.3.Schema-basedAOPsupport...........................................................................................145 6.3.1.Declaringanaspect.............................................................................................145 6.3.2.Declaringapointcut ...........................................................................................145 6.3.3.Declaringadvice ................................................................................................147 6.3.4.Introductions......................................................................................................151 6.3.5.Aspectinstantiationmodels.................................................................................152 6.3.6.Advisors............................................................................................................152 6.3.7.Example............................................................................................................153 6.4.ChoosingwhichAOPdeclarationstyletouse .................................................................154 6.4.1.SpringAOPorfullAspectJ? ...............................................................................154 6.4.2.@AspectJorXMLforSpringAOP?....................................................................155 6.5.Mixingaspecttypes.......................................................................................................156 6.6.Proxyingmechanisms....................................................................................................156 6.6.1.UnderstandingAOPproxies................................................................................157 6.7.Programmaticcreationof@AspectJProxies...................................................................159 6.8.UsingAspectJwithSpringapplications ..........................................................................159 6.8.1.UsingAspectJtodependencyinjectdomainobjectswithSpring............................159 6.8.2.OtherSpringaspectsforAspectJ .........................................................................162 6.8.3.ConfiguringAspectJaspectsusingSpringIoC .....................................................163 6.8.4.Load-timeweavingwithAspectJintheSpringFramework ...................................163 6.9.FurtherResources .........................................................................................................170 7.SpringAOPAPIs...................................................................................................................171 7.1.Introduction..................................................................................................................171 7.2.PointcutAPIinSpring...................................................................................................171 SpringFramework(2.5.6) iv TheSpringFramework-ReferenceDocumentation 7.2.1.Concepts............................................................................................................171 7.2.2.Operationsonpointcuts ......................................................................................172 7.2.3.AspectJexpressionpointcuts...............................................................................172 7.2.4.Conveniencepointcutimplementations................................................................172 7.2.5.Pointcutsuperclasses..........................................................................................174 7.2.6.Custompointcuts................................................................................................174 7.3.AdviceAPIinSpring ....................................................................................................174 7.3.1.Advicelifecycles................................................................................................174 7.3.2.AdvicetypesinSpring........................................................................................175 7.4.AdvisorAPIinSpring...................................................................................................180 7.5.UsingtheProxyFactoryBeantocreateAOPproxies ........................................................180 7.5.1.Basics................................................................................................................180 7.5.2.JavaBeanproperties............................................................................................181 7.5.3.JDK-andCGLIB-basedproxies..........................................................................182 7.5.4.Proxyinginterfaces.............................................................................................183 7.5.5.Proxyingclasses.................................................................................................184 7.5.6.Using'global'advisors........................................................................................185 7.6.Conciseproxydefinitions ..............................................................................................185 7.7.CreatingAOPproxiesprogrammaticallywiththeProxyFactory.......................................186 7.8.Manipulatingadvisedobjects.........................................................................................187 7.9.Usingthe"autoproxy"facility........................................................................................188 7.9.1.Autoproxybeandefinitions.................................................................................188 7.9.2.Usingmetadata-drivenauto-proxying ..................................................................190 7.10.UsingTargetSources ...................................................................................................192 7.10.1.Hotswappabletargetsources.............................................................................192 7.10.2.Poolingtargetsources.......................................................................................193 7.10.3.Prototypetargetsources....................................................................................194 7.10.4.ThreadLocaltargetsources...............................................................................194 7.11.DefiningnewAdvicetypes ..........................................................................................195 7.12.Furtherresources.........................................................................................................195 8.Testing...................................................................................................................................196 8.1.Introduction..................................................................................................................196 8.2.Unittesting...................................................................................................................196 8.2.1.Mockobjects......................................................................................................196 8.2.2.Unittestingsupportclasses .................................................................................197 8.3.Integrationtesting .........................................................................................................197 8.3.1.Overview...........................................................................................................197 8.3.2.Whichsupportframeworktouse .........................................................................198 8.3.3.Commongoals...................................................................................................198 8.3.4.JDBCtestingsupport..........................................................................................200 8.3.5.Commonannotations..........................................................................................200 8.3.6.JUnit3.8legacysupport......................................................................................202 8.3.7.SpringTestContextFramework...........................................................................206 8.3.8.PetClinicexample ..............................................................................................216 8.4.FurtherResources .........................................................................................................218 II.MiddleTierDataAccess..................................................................................................................219 9.Transactionmanagement.......................................................................................................220 9.1.Introduction..................................................................................................................220 9.2.Motivations..................................................................................................................220 9.3.Keyabstractions............................................................................................................222 9.4.Resourcesynchronizationwithtransactions ....................................................................224 9.4.1.High-levelapproach ...........................................................................................224 SpringFramework(2.5.6) v TheSpringFramework-ReferenceDocumentation 9.4.2.Low-levelapproach............................................................................................225 9.4.3.TransactionAwareDataSourceProxy...................................................................225 9.5.Declarativetransactionmanagement...............................................................................226 9.5.1.UnderstandingtheSpringFramework'sdeclarativetransactionimplementation......227 9.5.2.Afirstexample...................................................................................................227 9.5.3.Rollingback.......................................................................................................230 9.5.4.Configuringdifferenttransactionalsemanticsfordifferentbeans...........................232 9.5.5.<tx:advice/>settings........................................................................................233 9.5.6.Using@Transactional.......................................................................................234 9.5.7.Transactionpropagation......................................................................................239 9.5.8.Advisingtransactionaloperations........................................................................240 9.5.9.Using@TransactionalwithAspectJ ...................................................................243 9.6.Programmatictransactionmanagement...........................................................................243 9.6.1.UsingtheTransactionTemplate.........................................................................244 9.6.2.UsingthePlatformTransactionManager.............................................................245 9.7.Choosingbetweenprogrammaticanddeclarativetransactionmanagement........................246 9.8.Applicationserver-specificintegration............................................................................246 9.8.1.IBMWebSphere ................................................................................................247 9.8.2.BEAWebLogic..................................................................................................247 9.8.3.OracleOC4J ......................................................................................................247 9.9.Solutionstocommonproblems ......................................................................................247 9.9.1.UseofthewrongtransactionmanagerforaspecificDataSource ...........................247 9.10.FurtherResources........................................................................................................248 10.DAOsupport........................................................................................................................249 10.1.Introduction................................................................................................................249 10.2.Consistentexceptionhierarchy.....................................................................................249 10.3.ConsistentabstractclassesforDAOsupport .................................................................250 11.DataaccessusingJDBC .......................................................................................................251 11.1.Introduction................................................................................................................251 11.1.1.Choosingastyle...............................................................................................251 11.1.2.Thepackagehierarchy......................................................................................252 11.2.UsingtheJDBCCoreclassestocontrolbasicJDBCprocessinganderrorhandling .........252 11.2.1.JdbcTemplate..................................................................................................252 11.2.2.NamedParameterJdbcTemplate..........................................................................255 11.2.3.SimpleJdbcTemplate........................................................................................257 11.2.4.DataSource......................................................................................................258 11.2.5.SQLExceptionTranslator.................................................................................259 11.2.6.Executingstatements ........................................................................................260 11.2.7.RunningQueries...............................................................................................260 11.2.8.Updatingthedatabase.......................................................................................261 11.2.9.Retrievingauto-generatedkeys..........................................................................261 11.3.Controllingdatabaseconnections .................................................................................262 11.3.1.DataSourceUtils.............................................................................................262 11.3.2.SmartDataSource.............................................................................................262 11.3.3.AbstractDataSource........................................................................................262 11.3.4.SingleConnectionDataSource..........................................................................262 11.3.5.DriverManagerDataSource...............................................................................262 11.3.6.TransactionAwareDataSourceProxy.................................................................263 11.3.7.DataSourceTransactionManager......................................................................263 11.3.8.NativeJdbcExtractor.........................................................................................263 11.4.JDBCbatchoperations ................................................................................................264 11.4.1.BatchoperationswiththeJdbcTemplate.............................................................264 SpringFramework(2.5.6) vi TheSpringFramework-ReferenceDocumentation 11.4.2.BatchoperationswiththeSimpleJdbcTemplate ..................................................265 11.5.SimplifyingJDBCoperationswiththeSimpleJdbcclasses.............................................266 11.5.1.InsertingdatausingSimpleJdbcInsert ................................................................266 11.5.2.Retrievingauto-generatedkeysusingSimpleJdbcInsert.......................................266 11.5.3.SpecifyingthecolumnstouseforaSimpleJdbcInsert .........................................267 11.5.4.UsingSqlParameterSourcetoprovideparametervalues ......................................267 11.5.5.CallingastoredprocedureusingSimpleJdbcCall................................................268 11.5.6.DeclaringparameterstouseforaSimpleJdbcCall...............................................270 11.5.7.HowtodefineSqlParameters.............................................................................271 11.5.8.CallingastoredfunctionusingSimpleJdbcCall ..................................................271 11.5.9.ReturningResultSet/REFCursorfromaSimpleJdbcCall.....................................272 11.6.ModelingJDBCoperationsasJavaobjects ...................................................................273 11.6.1.SqlQuery..........................................................................................................273 11.6.2.MappingSqlQuery.............................................................................................273 11.6.3.SqlUpdate........................................................................................................274 11.6.4.StoredProcedure.............................................................................................275 11.6.5.SqlFunction....................................................................................................278 11.7.Commonissueswithparameteranddatavaluehandling ................................................278 11.7.1.ProvidingSQLtypeinformationforparameters..................................................278 11.7.2.HandlingBLOBandCLOBobjects...................................................................278 11.7.3.PassinginlistsofvaluesforINclause ...............................................................280 11.7.4.Handlingcomplextypesforstoredprocedurecalls .............................................280 12.ObjectRelationalMapping(ORM)dataaccess....................................................................282 12.1.Introduction................................................................................................................282 12.2.Hibernate....................................................................................................................283 12.2.1.Resourcemanagement......................................................................................283 12.2.2.SessionFactorysetupinaSpringcontainer.......................................................284 12.2.3.TheHibernateTemplate...................................................................................284 12.2.4.ImplementingSpring-basedDAOswithoutcallbacks..........................................286 12.2.5.ImplementingDAOsbasedonplainHibernate3API..........................................286 12.2.6.Programmatictransactiondemarcation...............................................................287 12.2.7.Declarativetransactiondemarcation...................................................................288 12.2.8.Transactionmanagementstrategies....................................................................289 12.2.9.Containerresourcesversuslocalresources .........................................................291 12.2.10.SpuriousapplicationserverwarningswhenusingHibernate ..............................292 12.3.JDO............................................................................................................................293 12.3.1.PersistenceManagerFactorysetup...................................................................293 12.3.2.JdoTemplateandJdoDaoSupport ......................................................................294 12.3.3.ImplementingDAOsbasedontheplainJDOAPI...............................................294 12.3.4.Transactionmanagement...................................................................................296 12.3.5.JdoDialect......................................................................................................297 12.4.OracleTopLink...........................................................................................................297 12.4.1.SessionFactoryabstraction..............................................................................298 12.4.2.TopLinkTemplateandTopLinkDaoSupport........................................................298 12.4.3.ImplementingDAOsbasedonplainTopLinkAPI ..............................................300 12.4.4.Transactionmanagement...................................................................................301 12.5.iBATISSQLMaps......................................................................................................302 12.5.1.SettinguptheSqlMapClient .............................................................................302 12.5.2.UsingSqlMapClientTemplateandSqlMapClientDaoSupport.............................303 12.5.3.ImplementingDAOsbasedonplainiBATISAPI ...............................................304 12.6.JPA............................................................................................................................304 12.6.1.JPAsetupinaSpringenvironment ....................................................................305 SpringFramework(2.5.6) vii TheSpringFramework-ReferenceDocumentation 12.6.2.JpaTemplateandJpaDaoSupport ......................................................................310 12.6.3.ImplementingDAOsbasedonplainJPA............................................................311 12.6.4.ExceptionTranslation.......................................................................................313 12.7.TransactionManagement.............................................................................................313 12.8.JpaDialect.................................................................................................................314 III.TheWeb........................................................................................................................................315 13.WebMVCframework..........................................................................................................316 13.1.Introduction................................................................................................................316 13.1.1.PluggabilityofotherMVCimplementations.......................................................317 13.1.2.FeaturesofSpringWebMVC ...........................................................................317 13.2.TheDispatcherServlet..............................................................................................318 13.3.Controllers..................................................................................................................322 13.3.1.AbstractControllerandWebContentGenerator ...............................................323 13.3.2.Othersimplecontrollers....................................................................................324 13.3.3.TheMultiActionController............................................................................324 13.3.4.Commandcontrollers........................................................................................327 13.4.Handlermappings .......................................................................................................328 13.4.1.BeanNameUrlHandlerMapping............................................................................328 13.4.2.SimpleUrlHandlerMapping...............................................................................329 13.4.3.Interceptingrequests-theHandlerInterceptorinterface ...................................330 13.5.Viewsandresolvingthem............................................................................................331 13.5.1.Resolvingviews-theViewResolverinterface....................................................332 13.5.2.ChainingViewResolvers...................................................................................333 13.5.3.Redirectingtoviews .........................................................................................334 13.6.Usinglocales ..............................................................................................................335 13.6.1.AcceptHeaderLocaleResolver..........................................................................335 13.6.2.CookieLocaleResolver....................................................................................335 13.6.3.SessionLocaleResolver...................................................................................336 13.6.4.LocaleChangeInterceptor...............................................................................336 13.7.Usingthemes..............................................................................................................337 13.7.1.Introduction.....................................................................................................337 13.7.2.Definingthemes...............................................................................................337 13.7.3.Themeresolvers...............................................................................................337 13.8.Spring'smultipart(fileupload)support..........................................................................338 13.8.1.Introduction.....................................................................................................338 13.8.2.UsingtheMultipartResolver...........................................................................338 13.8.3.Handlingafileuploadinaform ........................................................................339 13.9.Handlingexceptions....................................................................................................341 13.10.Conventionoverconfiguration ...................................................................................342 13.10.1.TheController-ControllerClassNameHandlerMapping...................................342 13.10.2.TheModel-ModelMap(ModelAndView)............................................................343 13.10.3.TheView-RequestToViewNameTranslator.....................................................344 13.11.Annotation-basedcontrollerconfiguration...................................................................345 13.11.1.Settingupthedispatcherforannotationsupport................................................346 13.11.2.Definingacontrollerwith@Controller ...........................................................346 13.11.3.Mappingrequestswith@RequestMapping.........................................................347 13.11.4.Supportedhandlermethodargumentsandreturntypes ......................................349 13.11.5.Bindingrequestparameterstomethodparameterswith@RequestParam..............350 13.11.6.Providingalinktodatafromthemodelwith@ModelAttribute .........................351 13.11.7.SpecifyingattributestostoreinaSessionwith@SessionAttributes .................351 13.11.8.CustomizingWebDataBinderinitialization........................................................352 13.12.FurtherResources......................................................................................................352 SpringFramework(2.5.6) viii TheSpringFramework-ReferenceDocumentation 14.Viewtechnologies.................................................................................................................354 14.1.Introduction................................................................................................................354 14.2.JSP&JSTL ................................................................................................................354 14.2.1.Viewresolvers .................................................................................................354 14.2.2.'Plain-old'JSPsversusJSTL..............................................................................354 14.2.3.Additionaltagsfacilitatingdevelopment ............................................................355 14.2.4.UsingSpring'sformtaglibrary..........................................................................355 14.3.Tiles...........................................................................................................................363 14.3.1.Dependencies...................................................................................................363 14.3.2.HowtointegrateTiles.......................................................................................363 14.4.Velocity&FreeMarker................................................................................................365 14.4.1.Dependencies...................................................................................................365 14.4.2.Contextconfiguration.......................................................................................365 14.4.3.Creatingtemplates............................................................................................366 14.4.4.Advancedconfiguration....................................................................................366 14.4.5.Bindsupportandformhandling.........................................................................367 14.5.XSLT.........................................................................................................................372 14.5.1.MyFirstWords................................................................................................373 14.5.2.Summary.........................................................................................................375 14.6.Documentviews(PDF/Excel)......................................................................................375 14.6.1.Introduction.....................................................................................................375 14.6.2.Configurationandsetup....................................................................................375 14.7.JasperReports..............................................................................................................378 14.7.1.Dependencies...................................................................................................378 14.7.2.Configuration...................................................................................................378 14.7.3.PopulatingtheModelAndView ............................................................................380 14.7.4.WorkingwithSub-Reports................................................................................381 14.7.5.ConfiguringExporterParameters.......................................................................382 15.Integratingwithotherwebframeworks ...............................................................................383 15.1.Introduction................................................................................................................383 15.2.Commonconfiguration................................................................................................383 15.3.JavaServerFaces1.1and1.2........................................................................................385 15.3.1.DelegatingVariableResolver(JSF1.1/1.2)..........................................................385 15.3.2.SpringBeanVariableResolver(JSF1.1/1.2).........................................................386 15.3.3.SpringBeanFacesELResolver(JSF1.2+)............................................................386 15.3.4.FacesContextUtils............................................................................................386 15.4.ApacheStruts1.xand2.x ............................................................................................386 15.4.1.ContextLoaderPlugin........................................................................................387 15.4.2.ActionSupportClasses......................................................................................389 15.5.WebWork2.x..............................................................................................................389 15.6.Tapestry3.xand4.x ....................................................................................................390 15.6.1.InjectingSpring-managedbeans........................................................................390 15.7.FurtherResources........................................................................................................396 16.PortletMVCFramework.....................................................................................................397 16.1.Introduction................................................................................................................397 16.1.1.Controllers-TheCinMVC..............................................................................398 16.1.2.Views-TheVinMVC.....................................................................................398 16.1.3.Web-scopedbeans............................................................................................398 16.2.TheDispatcherPortlet..............................................................................................398 16.3.TheViewRendererServlet..........................................................................................400 16.4.Controllers..................................................................................................................401 16.4.1.AbstractControllerandPortletContentGenerator ........................................402 SpringFramework(2.5.6) ix TheSpringFramework-ReferenceDocumentation 16.4.2.Othersimplecontrollers....................................................................................403 16.4.3.CommandControllers.......................................................................................403 16.4.4.PortletWrappingController............................................................................404 16.5.Handlermappings .......................................................................................................404 16.5.1.PortletModeHandlerMapping............................................................................405 16.5.2.ParameterHandlerMapping...............................................................................405 16.5.3.PortletModeParameterHandlerMapping............................................................405 16.5.4.AddingHandlerInterceptors...........................................................................406 16.5.5.HandlerInterceptorAdapter............................................................................406 16.5.6.ParameterMappingInterceptor........................................................................407 16.6.Viewsandresolvingthem............................................................................................407 16.7.Multipart(fileupload)support .....................................................................................407 16.7.1.UsingthePortletMultipartResolver ..............................................................408 16.7.2.Handlingafileuploadinaform ........................................................................408 16.8.Handlingexceptions....................................................................................................411 16.9.Annotation-basedcontrollerconfiguration ....................................................................411 16.9.1.Settingupthedispatcherforannotationsupport..................................................411 16.9.2.Definingacontrollerwith@Controller .............................................................412 16.9.3.Mappingrequestswith@RequestMapping...........................................................412 16.9.4.Supportedhandlermethodarguments ................................................................413 16.9.5.Bindingrequestparameterstomethodparameterswith@RequestParam ...............415 16.9.6.Providingalinktodatafromthemodelwith@ModelAttribute ...........................415 16.9.7.SpecifyingattributestostoreinaSessionwith@SessionAttributes...................416 16.9.8.CustomizingWebDataBinderinitialization..........................................................416 16.10.Portletapplicationdeployment ...................................................................................417 IV.Integration.....................................................................................................................................418 17.RemotingandwebservicesusingSpring..............................................................................419 17.1.Introduction................................................................................................................419 17.2.ExposingservicesusingRMI.......................................................................................420 17.2.1.ExportingtheserviceusingtheRmiServiceExporter .........................................420 17.2.2.Linkingintheserviceattheclient .....................................................................421 17.3.UsingHessianorBurlaptoremotelycallservicesviaHTTP ..........................................421 17.3.1.WiringuptheDispatcherServletforHessianandco. .......................................421 17.3.2.ExposingyourbeansbyusingtheHessianServiceExporter ..............................422 17.3.3.Linkingintheserviceontheclient ....................................................................422 17.3.4.UsingBurlap....................................................................................................423 17.3.5. Applying HTTP basic authentication to a service exposed through Hessian or Burlap........................................................................................................................4.23 17.4.ExposingservicesusingHTTPinvokers .......................................................................423 17.4.1.Exposingtheserviceobject ...............................................................................424 17.4.2.Linkingintheserviceattheclient .....................................................................424 17.5.Webservices...............................................................................................................425 17.5.1.Exposingservlet-basedwebservicesusingJAX-RPC .........................................425 17.5.2.AccessingwebservicesusingJAX-RPC ............................................................426 17.5.3.RegisteringJAX-RPCBeanMappings...............................................................427 17.5.4.RegisteringyourownJAX-RPCHandler ...........................................................428 17.5.5.Exposingservlet-basedwebservicesusingJAX-WS ..........................................428 17.5.6.ExportingstandalonewebservicesusingJAX-WS .............................................429 17.5.7.ExportingwebservicesusingtheJAX-WSRI'sSpringsupport ...........................430 17.5.8.AccessingwebservicesusingJAX-WS..............................................................430 17.5.9.ExposingwebservicesusingXFire....................................................................431 17.6.JMS............................................................................................................................432 SpringFramework(2.5.6) x

Description:
The Spring Framework - Reference Documentation. Version 2.5.6. Copyright . AspectOrientedProgramming(AOP) . Easier AOP XML configuration .
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.