ebook img

Spring Framework Cookbook PDF

194 Pages·2017·8.08 MB·English
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 Spring Framework Cookbook

SpringFrameworkCookbook i Spring Framework Cookbook SpringFrameworkCookbook ii Contents 1 SpringFrameworkBestPractices 1 1.1 Definesingletonbeanswithnamessameastheirclassorinterfacenames . . . . . . . . . . . . . . . . . . . . . 1 1.2 PlaceSpringbeanconfigurationfilesunderafolderinsteadofrootfolder . . . . . . . . . . . . . . . . . . . . . 1 1.3 GivecommonprefixesorsuffixestoSpringbeanconfigurationfiles . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 AvoidusingimportelementswithinSpringXMLconfigurationfilesasmuchaspossible . . . . . . . . . . . . . 2 1.5 StayawayfromautowiringinXMLbasedbeanconfigurations . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.6 Alwaysexternalizebeanpropertyvalueswithpropertyplaceholders . . . . . . . . . . . . . . . . . . . . . . . . 3 1.7 Selectdefaultversion-lessXSDwhenimportingnamespacedefinitions. . . . . . . . . . . . . . . . . . . . . . . 3 1.8 Alwaysplaceclasspathprefixinresourcepaths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.9 Createasettermethodeventhoughyouusefieldlevelautowiring . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.10 Createaseparateservicelayereventhoughservicemethodsbarelydelegatetheirresponsibilitiestocorrespond- ingDAOmethods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.11 Usestereotypeannotationsasmuchaspossiblewhenemployingannotationdrivenbeanconfiguration . . . . . . 5 1.12 GrouphandlermethodsaccordingtorelatedscenariosindifferentControllerbeans . . . . . . . . . . . . . . . . 6 1.13 Placeannotationsoverconcreteclassesandtheirmethodsinsteadoftheirinterfaces . . . . . . . . . . . . . . . . 6 1.14 Preferthrowingruntimeexceptionsinsteadofcheckedexceptionsfromservicelayer . . . . . . . . . . . . . . . 6 1.15 Managetransactionsonlyintheservicelayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.16 MarktransactionsasreadOnly=truewhenservicemethodsonlycontainqueries . . . . . . . . . . . . . . . . . . 7 1.17 BeawareoffalsepositivesintransactionalORMintegrationtests . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.18 DonotuseDriverManagerDataSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.19 EitheruseNamedParameterJdbcTemplateorJdbcTemplateforyourJDBCoperations . . . . . . . . . . . . . . . 9 1.20 UseSessionFactoryandEntityManagerdirectlyinyourDAObeans . . . . . . . . . . . . . . . . . . . . . . . . 9 1.21 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Spring4AutowireExample 11 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 UsageofAutowire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3 StepbyStepImplementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3.1 CreatetheApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3.2 ConfigurePOM.xml(maven) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 SpringFrameworkCookbook iii 2.3.3 CreateServices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.4 Configurebeans(applicationContext.xml) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.5 Createtheclassthatwilluse(injection)theservice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.6 TestitOut! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4 DownloadtheEclipseprojectofthistutorial: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3 HowtowriteTransactionalUnitTestswithSpring 16 3.1 CreateanewMavenProject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.2 Addnecessarydependenciesinyourproject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3 Createlog4j.xmlfileinyourproject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.4 PrepareDDLandDMLscriptstoinitializedatabase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.5 WriteDomainClass,ServiceandDAOBeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.6 ConfigureSpringApplicationContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.7 Writeatransactionalintegrationunittest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.8 Runthetestsandobservetheresults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.10 DownloadtheSourceCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4 SpringFrameworkJMSTemplateExample 32 4.1 Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.2 SendingandReceivingMessageswithoutJmsTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.3 ConfiguringJmsTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.4 UsingJMSTemplatetoproducemessages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.5 UsingJMSTemplatetoconsumemessages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.6 CompleteJmsTemplateexampletosend/receivemessages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.7 JmsTemplatewithDefaultdestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.8 JmsTemplatewithMessageConverter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.9 ConfiguringMessageConverter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.10 DownloadtheEclipseProject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5 HowtoStartDevelopingLayeredWebApplicationswithSpring 46 5.1 CreateanewMavenWebAppproject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.2 Addnecessarydependenciesinyourproject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.3 Createlog4j.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.4 PrepareDDLandDMLscriptstoinitializedatabase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.4.1 schema.sql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.4.2 data.sql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.5 WriteDomainClass,ServiceandDAOClasses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.5.1 Person.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.5.2 PersonDao.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 SpringFrameworkCookbook iv 5.5.3 JdbcPersonDao.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.5.4 PersonService.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.5.5 PersonServiceImpl.java. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.6 WriteControllerClassesandJSPstohandleUIlogic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.6.1 PersonListControllerandpersonList.jsp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.6.2 PersonCreateControllerandpersonCreate.jsp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.6.3 PersonUpdateControllerandpersonUpdate.jsp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.6.4 PersonDeleteControllerandpersonDelete.jsp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.7 ConfigureyourwebapplicationtobootstrapwithSpring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.7.1 WebAppConfig.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.7.2 WebAppInitializer.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.8 ConfigureyourIDEtorunTomcatinstance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.9 RunTomcatinstanceandaccessyourwebappthroughyourbrowser . . . . . . . . . . . . . . . . . . . . . . . . 74 5.10 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.11 DownloadtheSourceCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6 AngularjsandSpringIntegrationTutorial 76 6.1 WhatisSpring? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.2 WhatIsAngular? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.3 CreateaNewProject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.3.1 Mavendependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6.3.2 Webappjava-basedconfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.3.3 SpringMVCcontrollerandjsp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.3.4 Angularjscontrollersandjsfiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.3.5 Buildandruntheapplicationontomcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.4 Downloadthesourcecode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 7 SpringMVCApplicationwithSpringSecurityExample 84 7.1 IntroductiontoSpringSecurity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 7.2 ProjectSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 7.3 ProjectImplementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 7.4 DownloadtheSourceCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 8 SpringMVCHibernateTutorial 94 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 8.2 Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 8.3 SpringMVCFramework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 8.4 HibernateForModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 8.5 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 8.5.1 MavenProjectandPOMdependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 SpringFrameworkCookbook v 8.5.2 ConfigureHibernate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 8.5.3 DomainEntityClass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 8.5.4 ServiceLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 8.5.5 DAOLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 8.5.6 ConfigureSpringMVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 8.5.7 InitializerClass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 8.5.8 ApplicationController . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 8.5.9 Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 8.5.10 Deployandrunningtheapp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 8.6 Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 8.7 RelatedArticles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 9 Springresttemplateexample 115 9.1 DownloadtheSourceCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 10 Springdatatutorialforbeginners 119 10.1 Output: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 10.2 DownloadtheSourceCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 11 SpringBatchTaskletExample 127 11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 11.2 SpringBatchFramework: KeyConcepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 11.2.1 Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 11.2.2 Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 11.2.2.1 ItemReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 11.2.2.2 ItemProcessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 11.2.2.3 ItemWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 11.2.2.4 ChunkProcessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 11.2.2.5 TaskletStepProcessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 11.2.3 TaskletExample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 11.2.3.1 Toolsused . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 11.2.3.2 CreateaMavenProject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 11.2.3.3 AddDependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 11.2.3.4 Adddb2*jars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 11.2.3.5 HSQLTableCreation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 11.2.3.6 SupplySampleData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 11.2.3.7 DataModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 11.2.3.8 RowMapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.2.3.9 Tasklet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.2.3.10 JobConfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 SpringFrameworkCookbook vi 11.2.3.11 ContextConfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 11.2.3.12 PropertiesFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 11.2.3.13 RuntheApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 11.2.3.14 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 11.2.4 DownloadExample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 12 SpringBootTutorialforbeginners 144 12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 12.2 Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 12.3 SampleApplicationusingSpringBoot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 12.3.1 CreateandconfigureaGradleprojectinEclipseIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 12.3.2 build.gradle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 12.3.2.1 Modifybuild.gradle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 12.3.2.2 Walkthroughbuild.gradle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 12.3.2.3 Runinitialbuild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 12.3.3 CreateSampleApplication.java. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 12.3.4 CreateSampleController.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 12.3.5 SampleApplication.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 12.3.5.1 ModifySampleApplication.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 12.3.6 RunSampleApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 12.4 References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 12.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 12.6 DownloadtheEclipseproject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 13 SpringSessionTutorial 166 13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 13.2 ProjectSet-Up. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 13.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 13.3.1 StickySession . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 13.3.2 SingleSignOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 13.4 DownloadTheSourceCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 14 SpringWebFlowTutoriall 178 14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 14.2 ProjectSet-Up. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 14.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 14.4 DownloadTheSourceCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 SpringFrameworkCookbook vii Copyright (c) Exelixis Media P.C., 2017 All rights reserved. Without limiting the rights under copyright reserved above, no part of this publication may be reproduced, stored or introduced into a retrieval system, or transmitted, in any form or by any means (electronic, mechanical, photocopying, recording or otherwise), without the prior written permission of the copyright owner. SpringFrameworkCookbook viii Preface TheSpringFrameworkisanopen-sourceapplicationframeworkandinversionofcontrolcontainerfortheJavaplatform. The framework’s core features can be used by any Java application, but there are extensions for building web applications on top oftheJavaEEplatform. Althoughtheframeworkdoesnotimposeanyspecificprogrammingmodel,ithasbecomepopularin the Java community as an alternative to, replacement for, or even addition to the Enterprise JavaBeans (EJB) model. (Source: https://en.wikipedia.org/wiki/Spring_Framework). Springhelpsdevelopmentteamseverywherebuildsimple,portable,fastandflexibleJVM-basedsystemsandapplications. The project’smissionistohelpdevelopersbuildabetterEnterprise. (Source: https://spring.io/) In this ebook, we provide a compilation of Spring Framework tutorials that will help you kick-start your own programming projects. Wecoverawiderangeoftopics,frombasicusageandbestpractices,tospecificprojectslikeBootandBatch. Withour straightforwardtutorials,youwillbeabletogetyourownprojectsupandrunninginminimumtime. SpringFrameworkCookbook ix About the Author JCGs(JavaCodeGeeks)isanindependentonlinecommunityfocusedoncreatingtheultimateJavatoJavadevelopersresource center;targetedatthetechnicalarchitect,technicalteamlead(seniordeveloper),projectmanagerandjuniordevelopersalike. JCGsservetheJava,SOA,AgileandTelecomcommunitieswithdailynewswrittenbydomainexperts,articles,tutorials,reviews, announcements,codesnippetsandopensourceprojects. Youcanfindthemonlineathttps://www.javacodegeeks.com/

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.