收藏 分销(赏)

SSH-三大框架介绍.ppt

上传人:胜**** 文档编号:764571 上传时间:2024-03-07 格式:PPT 页数:47 大小:2.50MB
下载 相关 举报
SSH-三大框架介绍.ppt_第1页
第1页 / 共47页
SSH-三大框架介绍.ppt_第2页
第2页 / 共47页
SSH-三大框架介绍.ppt_第3页
第3页 / 共47页
SSH-三大框架介绍.ppt_第4页
第4页 / 共47页
SSH-三大框架介绍.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、SSH 框架 介绍培训目标lSSH基本概念l认识框架l认识SSH框架l开发入门认识框架 大奔先生汽车之父和奔驰汽车奔驰汽车Karl Friedrich Benz汽车基本结构就是一个框架底盘车身发动机电气设备保时捷飞机汽车水上汽车框架是什么?框架是前辈们多年以来总结出的一些开发标准;让后辈可以以成功的经验模式来开发自已的系统。使用优秀框架的好处1.易于开发易于开发:框架对底层的API进行了封装,开发者不需要直接接触底层的API,只需要写一些必须的代码。2.结构清晰结构清晰:清晰的结构使得各模块功能明确,更易于阅读,从而使其他开发者能够更快加入,也降低了后期维护成本。3.易于测试:易于测试:采用成

2、功的框架的代码比自己的代码容易测试。4.缩短周期:缩短周期:采用成功的框架能缩短项目的设计、开发周期。Struts2 SpringMVCHibernateSpring页面展示页面展示管理管理数据库数据库MyBatis认识SSH框架 SpringMVCHibernateSpringSSHJava文件结构数据库连接、SQL语句SSH各部分技术负责工作JSP文件结构HTML跳转Java文件结构业务逻辑代码Servlet文件结构页面逻辑HibernateSpringMVCJavaBeanSpring管理认识SpringMVC 什么是MVC 电视节目电视信号电视机ModelView1Controller

3、View2View3模型控制视图是一种软件设计典范,通过业务逻辑、数据、界面显示分离的方法来组织代码什么是SpringMVC?SpringMVC是一个典型的教科书式的MVC框架,作用是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。即简化WEB前端开发的工具。同类竞争对手Struts2SpringMVC工作原理认识Hibernate 什么是Hibernate?Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。即把对象操作转成SQL语句同类竞争对手MybatisHibernate

4、原理Java应用程序Hibernate持久化对象JNDIJDBC数据库SQL1.Java应用程序直接对持久化对象作增、删、改、查操作。2.Hibernate会把这些操作解释成SQL语句。3.通过JNDI、JDBC提交SQL到数据库。123Hibernate的优点对象/关系数据库映射(ORM),简化了DAO层编码工作,使开发更对象化了支持透明持久化(Transparent Persistent)它没有侵入性,即所谓的轻量级框架移植性会很好,能支持不同类型的数据库系统缓存机制,提供一级缓存和二级缓存认识Spring 什么是Spring?Spring是一个轻量级的控制反转(IoC)和面向切面(AOP

5、)的容器框架,创建的目的是解决企业应用开发的复杂性。什么是IOC?控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。控制反转还有一个名字叫做依赖注入(Dependency Injection),简称DI。一个生活中的IOC例子 何金水何金水在某家公司任职,老板要求他负责公司职员日常的饮水问题。老板对金水可以有两种形式的要求:第一种是必须只能购买A公司的水。第二种是只要有水喝就行不管哪家都行。如果是第一种情况,那么当金水发现不能在和A公司合作而想转向购买B公司的水的时候,金水必须要做的一件事情是向老板请示并且征得其同意

6、方可更改卖主。如果是第二种情况,则金水完全不用关心老板的意见就可以决定并且控制这个更改。老板只对金水提出一个接口要求那就是水,至于从什么地方来,这个过程的更改控制权反转给了金水。类AAInterface aAInterfaceImpA代码片段:类 AAInterface a;A()aMethod()a=new AInterfaceImpA();类AAInterface aAInterfaceImpB代码片段:类 AAInterface a;A()aMethod()a=new AInterfaceImpB();类 A 和 AinterfaceImplA耦合性太强Class AAInterface

7、 aAInterfaceImpAAInterfaceImpBAinterface工厂AInterface create(Object condition)根据条件condition返回不同的实现类代码片段:类 InterfaceImplFactoryAInterface create(Object condition)if(condition=condA)return new AInterfaceImpA();elseif(condition=condB)return new AInterfaceImpB();elsereturn new AInterfaceImp();AinterfaceI

8、mplA、B 和 Ainterface工厂耦合性太强IOC容器类AAInterface aIOC工厂XML配置AInterfaceImpA1231.IOC工厂自动从XML获取类描述。2.实例化描述中的类。3.把实例化的类注入到指定的接口上。可以把IoC模式看做是工厂模式的升华,可以把IoC看作是一个大工厂,只不过这个大工厂里要生成的对象都是在XML文件中给出定义的,然后利用Java 的“反射”编程,根据XML中给出的类名生成相应的对象。XML配置片段:代码片段:类 AAInterface a=null;A()类 AInterfaceImpA类 AInterfaceImpBWEB容器Spring

9、 IOC容器如何使用Spring IOC把SpringMVC和Hibernate整合HinterfaceImplHibernate数据接口实现类SInterfaceImpl业务逻辑实现类Hinterface数据接口Controller对象Sinterface业务逻辑接口Hibernate对象注入JavaBean对象注入浏览器http请求http返回开发入门 1、开发环境搭建jdk1.7sts3.6.22、项目环境搭建导入相关jar包(spring包,Hibernate包,数据库驱动,数据源包,测试包等)web.xml配置spring配置文件配置springMVC配置文件配置3、编程开发配置文件

10、介绍web.xml配置1、要正常的使用spring必须在web.xml中开启spring监听器,同时如spring配置文件名称、位置不是默认,则需要进行配置2、为避免Hibernate延时加载时因session关闭所产生的异常,通过openSessionInViewFilter配置,将session的开关交由spring进行管理3、进行DispatcherServlet配置,保证springMVC的正常使用,同时如springMVC配置文件名称、位置不是默认,则需要进行配置4、另外还可以进行字符编码过滤器配置,避免出现乱码现象等web.xmlweb.xml配置文件介绍属性文件(config.p

11、roperties)数据库连接相关配置信息通常存储在属性配置文件中。配置文件介绍spring配置文件默认名称:applicationContext.xml。默认位置:/WEB-INF/applicationContext.xml。如果名称、位置不是在默认位置需在web.xml中进行配置。在该文件中可以进行如下配置:1、扫描包目录配置(同时开启基于注解方式)2、属性文件的导入配置3、注册需要spring来管理的类(整合Hibernate,对数据源对象与SessionFactory对象进行描述和属性配置)4、事务管理配置等spring-hibernate.xmlspring-hibernate.x

12、mlspring-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)C

13、onstrollerResource(name=userDao)AutowiredQualifier(userDao)(不推荐使用)UserBean.javaEntityTable(name=tb_user,catalog=db_ssh)/DB2数据库schema=DBpublic class UserBean private int id;private String userName;private String password;private Date createDate;public UserBean()public UserBean(String userName,String

14、password,Date createDate)this.userName=userName;this.password=password;this.createDate=createDate;IdGeneratedValuepublic int getId()return id;public void setId(int id)this.id=id;public String getUserName()return userName;public void setUserName(String userName)this.userName=userName;public String ge

15、tPassword()return password;public void setPassword(String password)this.password=password;Column(name=create_date,nullable=false,length=7)public Date getCreateDate()return createDate;JsonFormat(timezone=GMT+08:00,pattern=yyyy-MM-dd HH:mm:ss)public void setCreateDate(Date createDate)this.createDate=c

16、reateDate;UserDao.javaRepository(userDao)public class UserDao implements IUserDao private SessionFactory sessionFactory;public SessionFactory getSessionFactory()return sessionFactory;Autowiredpublic void setSessionFactory(SessionFactory sessionFactory)this.sessionFactory=sessionFactory;private Sessi

17、on getCurrentSession()return this.sessionFactory.getCurrentSession();Overridepublic Serializable save(UserBean userBean)return this.getCurrentSession().save(userBean);public interface IUserDao public Serializable save(UserBean userBean);UserService.javaService(userService)public class UserService im

18、plements IUserServiceprivate IUserDao userDao;public IUserDao getUserDao()return userDao;Resourcepublic void setUserDao(IUserDao userDao)this.userDao=userDao;Overridepublic Serializable save(UserBean userBean)userBean.setCreateDate(new Date();userBean.setPassword(SecurityUtil.md5(userBean.getPasswor

19、d();return userDao.save(userBean);public interface IUserService public Serializable save(UserBean userBean);UserController.javaControllerRequestMapping(/user)public class UserController private IUserService userService;public IUserService getUserService()return userService;Resource(name=userService)

20、public void setUserService(IUserService userService)this.userService=userService;RequestMapping(value=/register,method=RequestMethod.GET)public String register()return register;RequestMapping(value=/register,method=RequestMethod.POST)public String register(UserBean userBean)userService.save(userBean);return redirect:login;用户名:用户密码:

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服