SSM框架与SSH框架

MVC,即模型(model)-视图(View)-控制器(Controller)的缩写,一种软件的设计典范,用一种业务逻辑,数据,界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

SSM框架

1:SSM框架的概念

SSM框架是spring MVC, spring和mybatis框架的整合,标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层;使用spring MVC负责请求的转发和视图管理spring实现业务对象管理,mybatis作为数据对象的持久化引擎。

2:Spring MVC

  1. 客户端发送请求到DispacherServlet(分发器)
  2. 由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller
  3. Controller调用业务逻辑处理后,返回ModelAndView
  4. DispacherServlet查询视图解析器,找到ModelAndView指定的视图
  5. 视图负责将结果显示到客户端

3:Spring

接触最多的估计是IOC容器,它可以装载bean(也就是我们Java中的class,也包括service dao里面的),有了这个机制,我们不用在每次使用这个类的时候为它初始化。

4:Mybatis

mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。

5:使用SSM框架完成一个功能的顺序

  1. 先写实体类entity,定义对象的属性。(可以参照数据库中的表的字段来设计)
  2. 写Mapper.xml(mybatis),定义功能,对应要对数据库进行哪些操作,比如:insert,selectAll,delete…
  3. 写Mapper.java,将Mapper.xml中的操作按照id映射成Java函数
  4. 写Service.java为控制层提供服务,接受控制层的参数,完善相应功能,并返回给控制层
  5. 写Controller.java,连接页面请求和服务层,获取页面请求的参数,通过自动装配,映射不同的url到相应的处理函数,并获取参数,对参数进行处理,之后传给服务层
  6. 写JSP页面调用,请求哪些参数,获取什么数据

DataBase ===> Entity ===> Mapper.xml ===> Mapper.Java ===> Service.java ===> Controller.java ===> Jsp

SSH框架

1:SSH框架的概念

SSH框架则是Struts2,Spring和Hibernate框架的整合,其中Struts2做控制器(controller),spring管理各层组件,Hibernate负责持久化层。

2:Struts2

Struts2框架本身大致可以分为3个部分:核心控制层FilterDispatcher,业务控制器Action和用户实现的企业业务逻辑组件。

  1. 核心控制器FilterDispatcher是Struts2框架的基础,包含了框架内部的控制流程和处理机制。
  2. 业务控制器Action和业务逻辑组件是需要用户自己实现的。用户在开发Action和业务逻辑组件的通过是,还要编写相关的配置文件,供核心控制器FilterDispatcher来使用

3:Spring

Spring框架是一个分层架构,由7个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建,配置和管理bean的方式。组成Spring框架的每个模块(组件)都可以单独存在,或者与其他一个或多个模块联合实现。

每个模块的功能如下:

  1. ☆ 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
  2. IOC 和 AOP 控制反转模式(也称作依赖性介入)的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器(在 Spring 框架中是 IOC 容器) 负责将这些联系在一起。 在典型的 IOC 场景中,容器创建了所有对象,并设置必要的属性将它们连接在一起,决定什么时间调用方法。

4:Hibernate

​ 1:对JDBC访问数据库的代码作了封装, 大大简化了数据访问层繁琐的重复性代码 。

​ 2:Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作

​ 3:hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。

​ 4:HIbernate顺序:

  • (1):通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件
  • (2):由hibernate.cfg.xml中的读取并解析映射信息
  • (3): 通过config.buildSessionFactory();//创建Session
  • (4):sessionFactory.openSession();//打开Sesssion
  • (5):session.beginTransaction();//创建事务Transation
  • (6):persistent operate持久化操作
  • (7):session.getTransaction().commit();//提交事务
  • (8):关闭Session
  • (9):关闭SesstionFactory

SSM框架与SSH框架相关推荐

  1. SSM框架和SSH框架的详细对比

    最近了解到SSH框架的使用的企业越来越少了,SSM框架更受青睐,我就了解了一下两种框架体系的区别.反正都要学,现在我已经学过了SSH框架,接下来就是学SSM框架了. 声明:下边的内容是我转载 学习的. ...

  2. 《SSH框架》---SSH框架与框架

       我们首先网上商城使用的是ssh框架,百度得到:SSH是 struts+spring+hibernate的一个集成框架,是目前比较流行的一种Web应用程序开源框架.    集成SSH框架的系统从职 ...

  3. java框架之ssh框架之认识

    SSH框架 1.SSH框架是什么? SSH框架是struts+spring+hibernate的一个集成框架,分为四层:表示层.业务逻辑层.数据持久层和域模块层,其中使用Struts作为系统的整体基础 ...

  4. java解决框架注入,SSH框架 使用Spring时 IOC无法注入解决办法

    SSH框架 使用Spring时 IOC无法注入 本人初学JavaWeb 现在在自己做一个SSH的练习 今天遇到一个 Spring无法注入的问题, 用了一个下午的时间也没找到毛病具体发生在哪儿 求经验丰 ...

  5. SSH框架整合——基于注解

    SSH框架整合--基于注解 @(Spring)[Spring, hibernate, struts2, 框架整合] SSH框架整合基于注解 SSH框架整合 第一步导入Jar包 第二步导入配置文件 第三 ...

  6. SSH框架整合——基于XML配置文件

    SSH框架整合--基于XML配置文件 @(Spring)[spring, struts2, hibernate, 框架整合, ssh, Spring] SSH框架整合基于XML配置文件 SSH框架整合 ...

  7. SSM和SSH框架对比

    SSM和SSH框架对比 1. SSH:Spring+Struts2+Hibernate SSM:Spring+SpringMVC+MyBaitis 两个框架都是IoC容器+MVC框架+ORM框架.Io ...

  8. 简述SSH框架和SSM框架的区别

    简述SSH框架和SSM框架的区别 SSH框架是Struts+Spring+Hibernate的简称,而SSM是指的SpringMVC+Spring+MyBatis的简称.光从这两个缩写就可以看出来,如 ...

  9. SSM框架+SSH框架简介

    SSM框架 Spring+SpringMVC+MyBatis Spring:Spring是一个开源框架.它的目标是是使现有的JavaEE技术更容易使用和养成良好的编程习惯.它是一个轻量级的框架,渗透了 ...

最新文章

  1. MySQL 性能监控4大指标——第一部分
  2. ssm整合(基于xml配置方式)
  3. php 调用系统命令 执行外部程序
  4. atitit.orm的缺点与orm框架市场占有率,选型attilax总结
  5. Oracle RMAN 学习
  6. itchat python_itchat-python搭建微信机器人(附示例)
  7. [Android实例] 天天动听 悬浮歌词(迷你歌词)效果解读
  8. C#调用Web Service时的身份验证 (转)
  9. 用Linux给手机刷rec,【小白福利】手机端刷入第三方Rec,手把手教会你
  10. 关于中国电信面试问到的问题
  11. 两步解决:PDF旋转后怎么保存?
  12. win7计算机管理员权限才能删除,手把手教你解决win7系统删除C盘文件需要管理员权限的图文办法...
  13. Word2010图片组合
  14. 周跳探测——历元间差分法
  15. 快手如何运营才能快速涨粉?
  16. 数学词汇的英译,写文章,读文献必备
  17. 美颜SDK是什么?美颜SDK和美颜APP有什么区别?
  18. 《markdown》语雀导出markdown的图片外链问题
  19. Java如何将文件打包成Zip、Rar压缩包
  20. 服务器装系统进pe界面就死机了,电脑可以进入PE系统,但重装就是重启,装不了系统是什么原因?...

热门文章

  1. 经典算法题(含答案解析)
  2. SSH客户端工具——PuTTY(1)
  3. 平面设计师和ui设计师_设计师的照片和故事
  4. android textview ellipsize汉字数字混合,Android TextView属性ellipsize多行失效的解决思路...
  5. 九齐单片机NY8B062D单按键控制4种LED状态
  6. Python——运算符重载
  7. Fintech系列(九)-- 共有知识,公共知识 和 如何避免成为接盘侠
  8. 开餐馆(DP)(+两种思想总结)
  9. JS基础——面向对象编程OOP
  10. 网页点击切换黑白昼夜模式