`
China_qd_zjk
  • 浏览: 34738 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

SSH和SSM的组成及其区别

阅读更多
SSH指的是:spring+Struts+hibernate;而SSM指的是:spring +SpringMVC + MyBatis。
1、Spring是是开源框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和Struts框架,ibatis框架等组合使用。
1)IoC(Inversion of Control)控制反转,对象创建责任的反转,在spring中BeanFacotory是IoC容器的核心接口,负责实例化,定位,配置应用程序中的对象及建立这些对象间的依赖。XmlBeanFacotory实现BeanFactory接口,通过获取xml配置文件数据,组成应用对象及对象间的依赖关系。Spring中有三种注入方式,一种是set注入,一种是接口注入,另一种是构造方法注入。
2)AOP面向切面编程
aop就是纵向的编程,如果业务1和业务2都需要一个共同的操作,与其往每个业务中都添加同样的代码,不如写一遍代码,让两个业务共同使用这段代码。
spring中面向切面变成的实现有两种方式,一种是动态代理,一种是CGLIB,动态代理必须要提供接口,而CGLIB实现是有继承。
Spring框架优点
1)轻量级的容器框架没有侵入性
2)使用IoC容器更加容易组合对象直接间关系,面向接口编程,降低耦合
3)Aop可以更加容易的进行功能扩展,遵循ocp开发原则
4)创建对象默认是单例的,不需要再使用单例模式进行处理
2、SpringMVC与Struts :
1)两者有个共同之处,那就是两者都数据javaweb层的开发框架,都是mvc模式的的经典产品,都实现了页面分离控制的功能,但是两者之间是有区别的。
2)在开发中,人们更愿意使用SpringMVC而不是Struts。因为SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。在扩展和灵活性上更胜一筹。
3)Struts的优势在于静态注入,插件机制和拦截器链,但是struts存在漏洞,经常会被作为攻击点进行冲击。相比更加安全简单的SpringMVC,开发者渐渐开发放弃了它。
3、Hibernate 与MyBatis:
1)Hibernate与Mybatis都是流行的持久层开发框架,一句话概括:MyBatis 简单易上手;
2)hibernate成熟,市场推广率高。
3)MyBatis可以进行更为细致的SQL优化,可以减少查询字段。
4)MyBatis容易掌握,而Hibernate门槛较高。
5)更重要的是,mybatis提供了对应各种用途、功能的插件,而hibernate在这一方面是远远比不上mybatis的。
6)Hibernate的DAO层开发比MyBatis简单,Mybatis需要维护SQL和结果映射。
7)Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便。
8)Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL。
9)Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳。
10)但是hibernat缺点很明确,如果涉及到多张关联表的调用时:
  1. 多表关联等比较复杂,使用的成本并不低;
  2. 效率比较低,在大型项目中很少会使用到它,因为sql都是自动生成的,不太好进行人工的优化。
分享到:
评论

相关推荐

    基于ssh框架的网上电器商场

    【基于SSH框架的网上电器商场】是一个典型的Java Web项目,SSH是Struts2、Spring和Hibernate三个开源框架的缩写,它们共同构建了一个强大的MVC(Model-View-Controller)架构,用于开发复杂的Web应用程序。...

    Java面试题专题之SSH框架_ssm框架面试题.docx

    Java面试中的SSH(Struts+Spring+Hibernate)框架与SSM(Spring+SpringMVC+MyBatis)框架是Web开发中的重要组成部分,通常在面试中会被深度考察。以下是对这些框架及其相关知识点的详细解释。 **Struts框架** 1. *...

    课程设计项目 Java/Jsp/Servlet/SSM/SSH/SpringBoot源码分享下载

    Java/Jsp/Servlet/SSM/SSH/SpringBoot是Java Web开发中常用的技术栈,本课程设计项目集合了这些技术的源码,旨在帮助学习者深入理解和应用它们。以下是关于这些技术栈及其在项目开发中的应用的详细说明: 1. **Java...

    SSM博客系统-061921421

    SSM框架是由SpringMVC、Spring和Mybatis三个开源...了解SSM的每个组成部分及其作用,可以帮助开发者构建高效、可维护的Web应用。此外,结合其他技术如MySQL、Redis、Ajax和Activemq,可以进一步提升系统的功能和性能。

    使用SSM框架开发企业级应用

    本文将详细介绍SSM框架的基本概念、组成部分及其在实际项目中的应用方法。 #### 二、框架技术的重要性 框架技术是指一套预先定义好的软件设计模式,用于解决特定类型问题的通用解决方案。学习框架技术的原因在于: ...

    基于SSM的风景文化管理系统源码.zip

    SSM(Spring、Struts、MyBatis)框架是Java Web开发中常用的一种技术栈,主要由Spring框架、Struts2框架和MyBatis持久层框架组成。本系统"基于SSM的风景文化管理系统"是一个典型的后端开发项目,旨在管理风景文化和...

    基于SSM的飞机票网上订票系统源码.zip

    "ssh"可能指的是Struts2、Spring、Hibernate的老一代框架组合,但在这里可能是指标签误写,实际应用的是SSM。"springboot"虽未在标题或描述中提及,但作为现代化的Java开发框架,可能会被用作简化部署和管理。"Java...

    基于SSM的电影售票系统源码.zip

    **SSH**:SSH通常指的是Struts2、Spring和Hibernate的组合,但在本案例中可能是对SSM的误写。因为SpringMVC已经取代了Struts2作为主流的MVC框架,所以我们主要关注SSM。 **SpringBoot**:虽然标签中有SpringBoot,...

    88个项目资源链接(java web,ssh,Android等等都有)

    - **Web应用架构**:介绍Web应用的基本组成部分,包括客户端和服务端的交互过程。 - **Servlet技术**:讲解Servlet的工作原理、生命周期及如何创建Servlet。 - **JSP技术**:解释JSP页面的执行流程、动态网页的生成...

    基于SSH的会议管理系统源码.zip

    此外,"ssm"可能是指Spring、SpringMVC和MyBatis的集成框架,但在这个上下文中,更可能是指"ssh"标签的误写。"springboot"则表示系统可能也利用了Spring Boot框架进行快速开发,简化配置,或者作为SSH架构的现代替代...

    ssm框架题目整合-java.docx

    - **易于集成**:Spring框架易于与其他框架集成,如MyBatis、Hibernate等,形成强大的SSM或SSH框架组合。 通过以上内容的介绍,我们可以看出Spring框架在Java开发中扮演着至关重要的角色,为开发者提供了高效且易于...

    基于SSM的调味品进销存管理系统源码.zip

    "ssh"可能是笔误,通常指的是Spring、Struts和Hibernate的另一种组合,但在这里我们主要关注SSM。"springboot"是现代Java应用开发的一个流行框架,简化了配置和部署过程,虽然在这个项目中没有明确使用,但它在当前...

    基于SSM的足球联赛管理系统源码.zip

    下面将详细解析这个系统的组成部分及其在开发中的应用。 首先,Spring是核心容器,负责管理对象(Bean)的生命周期和依赖注入。在足球联赛管理系统中,Spring将被用来创建和管理联赛、球队、球员等业务对象,以及...

    JSP基于SSH酒店网站(前台和后台).zip

    《JSP基于SSH酒店网站(前台和后台)》是一个典型的Java Web项目,它采用B/S(Browser/Server)架构,即浏览器与服务器交互模式,主要应用于网页应用开发。在这个项目中,开发者使用了Spring、Struts2和Hibernate这...

    基于SSH+MVC的网上手机销售系统源码.zip

    6. SSM:这是另一个常用的Java Web开发框架组合,由Spring MVC、Spring和MyBatis组成。虽然题目中提到的SSH更老一些,但SSM在现代项目中更常见,MyBatis是一个轻量级的ORM框架,与Hibernate类似,但更加灵活。 ...

    基于SSM的音乐推荐网站系统源码.zip

    下面将详细解析这个系统的组成部分及其涉及的关键技术。 1. **Spring框架**:Spring是Java企业级应用的核心框架,提供了依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)...

    工作上的收获

    - 深入了解了SSH框架的组成及其各自的功能定位。 - 对SSM框架与SSH之间的区别有了清晰的认识。 **2、工作总结** - 使用FreeMarker成功完成了几个动态页面的生成任务。 - 实现了一个基于Servlet的用户登录系统。 - ...

    滑雪场管理系统ssh+mysql源码&java毕业设计(完整前后端+数据库+说明文档+LW).zip

    下面我们将深入探讨该系统的组成部分及其技术细节。 首先,SSH(Struts2、Spring、Hibernate)是Java企业级应用开发中的主流框架组合。Struts2作为MVC模式的实现,负责处理用户请求并控制业务流程;Spring则提供...

    java学习和面试笔记

    这份"java学习和面试笔记"涵盖了Java的基础到进阶知识,包括Java Standard Edition(Java SE)、原生的JSP(JavaServer Pages)和Servlet、以及SSH(Spring、Struts、Hibernate)和SSM(Spring、SpringMVC、MyBatis...

Global site tag (gtag.js) - Google Analytics