SSH_三大框架介绍_第1页
SSH_三大框架介绍_第2页
SSH_三大框架介绍_第3页
SSH_三大框架介绍_第4页
SSH_三大框架介绍_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SSH框架介绍,培训目标,SSH基本概念认识框架认识SSH框架开发入门,认识框架,大奔先生,汽车之父和奔驰汽车,奔驰汽车,KarlFriedrichBenz,汽车基本结构就是一个框架,车身,发动机,电气设备,保时捷,飞机汽车,水上汽车,框架是什么?,框架是前辈们多年以来总结出的一些开发标准;让后辈可以以成功的经验模式来开发自已的系统。,使用优秀框架的好处,易于开发:框架对底层的API进行了封装,开发者不需要直接接触底层的API,只需要写一些必须的代码。结构清晰:清晰的结构使得各模块功能明确,更易于阅读,从而使其他开发者能够更快加入,也降低了后期维护成本。易于测试:采用成功的框架的代码比自己的代码容易测试。缩短周期:采用成功的框架能缩短项目的设计、开发周期。,Struts2,SpringMVC,Hibernate,Spring,页面展示,管理,数据库,MyBatis,认识SSH框架,SpringMVC,Hibernate,Spring,SSH,Java文件结构,数据库连接、SQL语句,SSH各部分技术负责工作,JSP文件结构,HTML,跳转,Java文件结构,业务逻辑代码,Servlet文件结构,页面逻辑,Hibernate,SpringMVC,JavaBean,Spring,管理,认识SpringMVC,什么是MVC,电视节目,电视信号,电视机,Model,View1,Controller,View2,View3,模型,控制,视图,是一种软件设计典范,通过业务逻辑、数据、界面显示分离的方法来组织代码,什么是SpringMVC?,SpringMVC是一个典型的教科书式的MVC框架,作用是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。即简化WEB前端开发的工具。同类竞争对手Struts2,SpringMVC工作原理,认识Hibernate,什么是Hibernate?,Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。即把对象操作转成SQL语句同类竞争对手Mybatis,Hibernate原理,Java应用程序,Hibernate,持久化对象,数据库,SQL,Java应用程序直接对持久化对象作增、删、改、查操作。Hibernate会把这些操作解释成SQL语句。通过JNDI、JDBC提交SQL到数据库。,1,2,3,Hibernate的优点,对象/关系数据库映射(ORM),简化了DAO层编码工作,使开发更对象化了,支持透明持久化(TransparentPersistent),它没有侵入性,即所谓的轻量级框架,移植性会很好,能支持不同类型的数据库系统,缓存机制,提供一级缓存和二级缓存,认识Spring,什么是Spring?,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,创建的目的是解决企业应用开发的复杂性。,什么是IOC?,控制反转(InversionofControl,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。控制反转还有一个名字叫做依赖注入(DependencyInjection),简称DI。,一个生活中的IOC例子,何金水在某家公司任职,老板要求他负责公司职员日常的饮水问题。老板对金水可以有两种形式的要求:第一种是必须只能购买A公司的水。第二种是只要有水喝就行不管哪家都行。如果是第一种情况,那么当金水发现不能在和A公司合作而想转向购买B公司的水的时候,金水必须要做的一件事情是向老板请示并且征得其同意方可更改卖主。如果是第二种情况,则金水完全不用关心老板的意见就可以决定并且控制这个更改。老板只对金水提出一个接口要求那就是水,至于从什么地方来,这个过程的更改控制权反转给了金水。,类A,AInterfacea,AInterfaceImpA,代码片段:类AAInterfacea;A()aMethod()a=newAInterfaceImpA();,类A,AInterfacea,AInterfaceImpB,代码片段:类AAInterfacea;A()aMethod()a=newAInterfaceImpB();,类A和AinterfaceImplA耦合性太强,ClassA,AInterfacea,AInterfaceImpA,AInterfaceImpB,Ainterface工厂,AInterfacecreate(Objectcondition),根据条件condition返回不同的实现类,代码片段:类InterfaceImplFactoryAInterfacecreate(Objectcondition)if(condition=condA)returnnewAInterfaceImpA();elseif(condition=condB)returnnewAInterfaceImpB();elsereturnnewAInterfaceImp();,AinterfaceImplA、B和Ainterface工厂耦合性太强,IOC容器,类A,AInterfacea,IOC工厂,XML配置,AInterfaceImpA,1,2,3,IOC工厂自动从XML获取类描述。实例化描述中的类。把实例化的类注入到指定的接口上。可以把IoC模式看做是工厂模式的升华,可以把IoC看作是一个大工厂,只不过这个大工厂里要生成的对象都是在XML文件中给出定义的,然后利用Java的“反射”编程,根据XML中给出的类名生成相应的对象。,XML配置片段:,代码片段:类AAInterfacea=null;A()类AInterfaceImpA类AInterfaceImpB,WEB容器,SpringIOC容器,如何使用SpringIOC把SpringMVC和Hibernate整合,HinterfaceImplHibernate数据接口实现类,Hibernate对象注入,JavaBean对象注入,浏览器,http请求,http返回,开发入门,1、开发环境搭建jdk1.7sts3.6.22、项目环境搭建导入相关jar包(spring包,Hibernate包,数据库驱动,数据源包,测试包等)web.xml配置spring配置文件配置springMVC配置文件配置3、编程开发,配置文件介绍web.xml配置1、要正常的使用spring必须在web.xml中开启spring监听器,同时如spring配置文件名称、位置不是默认,则需要进行配置2、为避免Hibernate延时加载时因session关闭所产生的异常,通过openSessionInViewFilter配置,将session的开关交由spring进行管理3、进行DispatcherServlet配置,保证springMVC的正常使用,同时如springMVC配置文件名称、位置不是默认,则需要进行配置4、另外还可以进行字符编码过滤器配置,避免出现乱码现象等,web.xml,web.xml,配置文件介绍属性文件(perties)数据库连接相关配置信息通常存储在属性配置文件中。,配置文件介绍spring配置文件默认名称:applicationContext.xml。默认位置:/WEB-INF/applicationContext.xml。如果名称、位置不是在默认位置需在web.xml中进行配置。在该文件中可以进行如下配置:1、扫描包目录配置(同时开启基于注解方式)2、属性文件的导入配置3、注册需要spring来管理的类(整合Hibernate,对数据源对象与SessionFactory对象进行描述和属性配置)4、事务管理配置等,spring-hibernate.xml,spring-hibernate.xml,spring-hibernate.xml,配置文件介绍springMVC配置文件默认名称:-servlet.xml。默认位置:/WEB-INF/-servlet.xml。如果名称、位置不是在默认位置需在web.xml中进行配置。在该文件中可以进行如下配置:1、扫描包目录配置(同时开启基于注解方式)2、HandlerMapping、HandlerAdapter注册3、viewResolver配置4、异常页配置5、文件上传配置6、拦截器配置等,springMVC.xml,注解,Component(不推荐使用)Repository(value=userDao)Service(userService)ConstrollerResource(name=userDao)AutowiredQualifier(userDao)(不推荐使用),UserBean.java,EntityTable(name=tb_user,catalog=db_ssh)/DB2数据库schema=DBpublicclassUserBeanprivateintid;privateStringuserName;privateStringpassword;privateDatecreateDate;publicUserBean()publicUserBean(StringuserName,Stringpassword,DatecreateDate)this.userName=userName;this.password=password;this.createDate=createDate;IdGeneratedValuepublicintgetId()returnid;publicvoidsetId(intid)this.id=id;publicStringgetUserName()returnuserName;publicvoidsetUserName(StringuserName)this.userName=userName;publicStringgetPassword()returnpassword;publicvoidsetPassword(Stringpassword)this.password=password;Column(name=create_date,nullable=false,length=7)publicDategetCreateDate()returncreateDate;JsonFormat(timezone=GMT+08:00,pattern=yyyy-MM-ddHH:mm:ss)publicvoidsetCreateDate(DatecreateDate)this.createDate=createDate;,UserDao.java,Repository(userDao)publicclassUserDaoimplementsIUserDaoprivateSessionFactorysessionFactory;publicSessionFactorygetSessionFactory()returnsessionFactory;AutowiredpublicvoidsetSessionFactory(SessionFactorysessionFactory)this.sessionFactory=sessionFactory;privateSessiongetCurrentSession()returnthis.sessionFactory.getCurrentSession();OverridepublicSerializablesave(UserBeanuserBean)returnthis.getCurrentSession().save(userBean);,publicinterfaceIUserDaopublicSerializablesave(UserBeanuserBean);,UserService.java,Service(userService)publicclassUserServiceimplementsIUserServiceprivateIUserDaouserDao;publicIUserDaogetUserDao()returnuserDao;ResourcepublicvoidsetUserDao(IUserDaouserDao)this.userDao=userDao;OverridepublicSerializablesave(UserBeanuserBean)userBean.setCreateDate(newDate();userBean.setPassword(SecurityUtil.md5(userBean.getPassword();returnuserDao.save(userBean);,publicinterfaceIUserServicepublicSerializablesave(UserBeanuserBean);,UserController.java,ControllerRequestMapping(/user)publicclassUserControllerprivateIUserServiceuserService;publicIUserServicegetUserService()returnuserService;Resource(name=userService)publicvoidsetUserService(IUserServ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论