华中科技大学硕士学位论文基于JSF、Spring、Hibernate集成框架的实现与应用姓名:胡琳申请学位级别:硕士专业:软件工程指导教师:万琳20090527IVJAVAWebJAVAEEJSFSpringiBATISJavaEEJSFSpringHibernateJSFSpringHibernateDAODAOSpringJSFHibernateUMLPersonRolepermissionPersonRoleDao,permissionDaopermissionDaoHibernateImplUserServiceUserServiceHibernateImplBackingBeanUserBeanManagedBeanJSFSpring,HibernateJSFSpringHibernateJ2EEJSFSpringHibernateMVCVAbstractWiththerapiddevlopmentofJAVAtherequirementsofWebbasedapplicationsystemshavebecomemorecomplex,thedevelopentcycleisincreasinglyshorter.Systemsscalailityandmaintainabilityhavebecomemoresophisticated.NowbasedonJAVAEE,thepredecessorhasdevelpedthegreatvarietytheframe,andthereisnoframeworkabletosolveallproblemsinthewebapplcationdevelopment.Thereforethesuitableframeworksmustbechoosedtointegrateintoabasisdevelopmentplatformforsystem.ThroughcompaisonanalysistheemergingJavaEEstandardframeworkJSFandopensourceframeworksSpringHibernatearechoosedastheapplicationdevelopmentsolutioninthispaper.Asisstatedabove,thisthsisdidresearchonJSF,SpringandHibernateframeworks,atfirststudyeachlayadvantages,disadantagesandcoretechnologies,thenanalysedeachframework’sfunctioninlayer.Finallycombinedwiththeproject,discusstheintegratedframeworkusability,advatages,disadvantages,aswellastheprospectsfordeveloment.Hasanalyzedtheweblevel,theservicelogiclevel,thedesignpatternwhichthedatalastinglevelinstitutemustuseThedatabaseandtheDAO,DAOconnection'sdesignpatternhascarriedontheanalysis;choosestheframewhichthroughthecontrastiveanalysisplatformconstructioneachlevelusesandtoSpringandJSF,theHibernateconfomitymethodhascarriedontheanalysis.Whenanalyzeseachkindofframethekeytechologieshascarriedonthegoodandbadpointsanalysistoeachframeaswellastheconforityframe.Theunionstudymaterialsmangementsystemmanagementsystemprojectconfirmstheplatormthevalidityinthesystemfunctiondescrition'sfoundation,carriesontheanalysisthroughUMLwiththeillustrtiontothesystem,tothesystemfunctionmoduledivsion,thedefinitesystemarchitectureandthemovmentenvironment,finallytothedatabase,kindandthepagecaryontherelateddesign.HasdesignedPersonRole,permisioninthedatalastinglevelandsoonlastingkind,aswellaswithitcooperationdataaccessingobjectconnecionPersonRoleDao,permissionDaoandsoon,realizesthroughpermissionDaoHibernateImpl.HasdesignedserviceconnectionVIUserServiceandtheconnectionintheservicelogiclevelrealizeskindofUserServiceHibernateImpl,HasdesignedBaekingBean,UserBeanintheweblevelandsoon,aswellaswithitcooperationManagedBean.Practiceshowsthattheapplictionofthisintegratedframeworkcanfullydisplayeachlay’sadvantages,maketheworkmaimumlimitnotaffectineachlay,realizedtheeachlayofsystemslowcouplingandthehighpolyerization,thecomlexityofapplicationdevelopmentcouldbereducedsothattheefficincyandqualityofthedevelopmentisimproved,alsoenhncedthedevelopmentfleibility.Keywords:JSFframeworkSpringframeworkHibernateframeworkMVCIII111.1JAVAJAVA[1]JAVACraigMcClanahanJSFGavinKingHibernateRodJohnsonSpringJ2EEMVCJSF+Spring+HibernateStruts+Spring+HibernateJSFStrutsJSFJSFJ2EEMVCMVCWebJavawebSpringJavaEE,SpringJDBCO/RMappingIOC/DI[2]Hibernate2HibernateSpringJSF1.2J2EEwebSpringJSFHibernateHibernateSpringJSFEclipseTomcatSQLServerHibernateSpringJSFwebJSFSpringHibernate1.3InternetClient/ServeJ2EEInternetWebJ2EE3J2EEJavaServerFaces(JSF)JavaCommu-nityProcess(JCP)Web--(MVC)JavaWebJSFRADWebJavaWeb[3]JSFUIDOMHTMLJSFJSFUIWebJSFJSPJSPJavaServletAPIHibernateJavaJavaHibernateJavaSQLJDBCHibernateJavaJDBCSQLHibernate[4]HibernateSQLAPIHibernatewebSpringJAVAEJB4SpringIOCSpringTDDJDBCO/RTopLinkHibernateJDOSpringPOJOJAVASpring[5]SpringJSFHibernate1.4ClassesJAVAJAVATapestryWebworkStrutsSpringHivemindHibernateiBATISWebEJBBeanBeanBeanEJB5EJBWebEJBSpringJAVAPOJOEJBEJBSpringJSFUIJSFJ2EE2001GavinKingHibernateJavaHibernateJavaSQLJDBCHibernateJDBCSQLHibernateHibernateSQLHibernateAPIweb62JSFSpringHibernate2.1JSF2-1MVCStrutsJSFStruts2-2JSFMVCHTTPWAPCServletMJavaBeanVJSPRequestResponseFacesServlet72-1,2-2JSFFacesServletFacesJSFStrutsJSFStrutsJSF[6]2.1.1JSFJSFJava2-3UMLJSF2-3JSF2-3JSF8JSF[7]2.1.2JSFJSFListenerJavaBeanJavaBeanJSFListenerEventUIELABBABAIOCIOC[8]JSFBean2-4BackingBeanUserBeanUserServiceBean92-4BackingBeanBeanBeanBackingBeanfacesBeanBeanBackingBean[9]2.2Spring2.2.1Spring2-5SpringSpring2-5SpringJ2EESpringJ2EEJ2EEWebEJB[10]2.2.2SpringSpringIOCJSFSpring101JavaBeansetter231JAVA2setter3setterSingleton4[11]5Spring2.2.3SpringAOPAOP11AOPAOPIOCJavaAOPJavaAOPAOPSpring[12]SpringAOP1.SpringAOPJAVA2.SpringAdvisorAdvisor3.Springaround”4.5.6.7.AOPJDKCGLIB8.SpringSpringAOPACIDAtomicConsistent,Isolated,DurableJ2EE[13]1JTAJDBCHibernateTransactionrollbackcommit2EJBSpringEJB[14]1SpringJavaClassEJBEJBEJBSpring122SpringJTAEJBSpringJDBCJTASpringAPISpringorg.springframework.transaction.PlatformTransactionManager2.3Hibernate2.3.1Hibernate2-6HibernateHibernate2-62-7HibernateMappingXMLJava,JavaHibernateSQLHQL[15]Hibernate[16]Hibernate[17,18]DatabaseApplicationPersistentObjectsHibernateHibernate.propertiesXMLMapping132-7HibernateConfiguration,SessionFactory,Session,Transaction,QueryLif