>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring:Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 23566 个阅读者 刷新本主题
 * 贴子主题:  SSH框架简介 回复文章 点赞(0)  收藏  
作者:sunshine    发表时间:2018-06-15 08:55:15     消息  查看  搜索  好友  邮件  复制  引用

最近做网上商城发现缺少了对SSH的理论知识,在实践的过程中还是很难理解很多东西!所以今天把理论知识做个简单了解!本篇博客主要对SSH做个简单介绍,主要是介绍基于MVC软件开发模式的SSH框架!详情请见下文!


正文
SSH的实践正在进行中,如果让我用一些实例来讲解SSH难度还很大,所以下面我就简单的在理论上讲讲我目前对SSH的了解,然后再分别说说组成SSH的Struts、Spring、Hibernate。


SSH
1.是啥
SSH是Struts+Spring+Hibernate的一个集成框架,是目前比较流行的一种web应用程序开源框架!其中Struts控制逻辑关系,Spring解耦,Hibernate操作数据库

2.优点
★各层分工明确,层与层之间解耦
★Hibernate避免了JDBC连接数据库的冗余繁杂
★spring管理用配置文件对象的实例化,更灵活方便

3.框架
这张图的原生是我从网上查到的,我查了很多关于SSH的资料,唯独觉得这张图能表达我目前对SSH的浅层了解,所以我加了一点点自己的想法,这张图可能不太正确,但是它表达了我现在的理解,后期我做了更多的了解之后还会继续更新这张图!
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

【问题】
★——VO的位置我不知道我放的对不对???
★——原图中“Service”那写的是“业务逻辑组件”,可是我觉得“业务逻辑组件”写的有点大,所以暂时改成了Service???
★——刚开始看到持久层的PO时我以为博主写错了,后来一查才知道是小菜我太low
【解问】
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小


Struts
1.是啥?
struts也是一种开源框架,使用它的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。在SSH中充当表示层的角色。
2.Struts框架流程图
这张图是我在百科上找的,翻译了一下下,根据自己目前单独对Struts的了解,写的话很多文章都写过,我还整理不出来自己能够消化之后的知识与大家分享,所以暂时就先不多做解释了!
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

Spring
1.是啥
Spring是一个分层的JavaSE/EE一站式 轻量级开源框架,解决业务逻辑层和其他各层的松耦合问题。其两大核心就是IOC((Inversion of control))控制反转和AOP(Aspect-Oriented Programming)面向切面编程

2.特征
【IOC】
官方:控制权由对象本身转向容器,由容器根据配置文件去创建实例并创建各个实例之间的依赖关系
我说:以前使用一个类啥的都必须先用new实例化一下,有的时候要new好多次,太麻烦了,spring对这方面做了改进,用配置文件来管理实例。

【AOP】
允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。应用对象只实现它们应该做的,完成业务逻辑,不负责其它的系统级关注点,例如日志或事务支持。

【容器】
用于包含并管理应用对象的配置和生命周期

【框架】
可以将简单的组件配置、组合成为复杂的应用

【MVC】
spring是实现MVC方式的常见框架之一
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

Hibernate
1.官方解说:
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的ORM框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

2.小菜解说:
★★【持久化由来】
小菜在一篇文章中看到有人这样介绍Hibernate——Hibernate值译过来是“冬眠”的意思,冬眠冬眠一直都在睡觉,对于人或者小动物来说他的睡眠是持久的。所以呀,Hibernate的一个真正意义就来了,持久化(就是把数据保存到可以永久保存东西的存储设备中,如磁盘;另外“持久化”是将程序数据在持久状态和瞬时状态间转换的机制,如JDBC、IO文件也是一种持久化机制)

那么问题来了,为啥JDBC也是一种持久化机制,为啥还要出现Hibernate呢?
依据小菜查的资料来说,出现Hibernate的原因是:以前的持久层开发存在很多冗余,如:各种JDBC语句,connection的管理,所以出现了Hibernate把JDBC封装了一下,这样我们不用操作数据,直接操作它就可以了。

★★【ORM】
ORM(Object Relational Mapping)对象关系映射,是一种解决面向对象与关系数据库存在的互不匹配的现象的技术。也就是它通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

链接小分享
Hibernate相关总结

小结
小菜觉得学习SSH应该实践与理论相结合,两者少了哪个都不可以!最后小菜想说:有哪位美女或者帅哥对SSH框架有好的学习建议或者想要更多的交流的可以找我哟!




程序猿的技术大观园:www.javathinker.net

  Java面向对象编程-->Swing组件(下)
  JavaWeb开发-->JSP中使用JavaBean(Ⅰ)
  JSP与Hibernate开发-->Spring、JPA与Hibernate的整合
  Java网络编程-->ServerSocket用法详解
  精通Spring-->绑定表单
  Vue3开发-->通过Vuex进行状态管理
  9种设计模式在Spring中的运用,一定要非常熟练!
  Spring事务容易掉入的坑
  SpringMVC下的JUnit4单元测试
  @InitBinder注解的用法
  Spring数据验证 中@NotNull, @NotEmpty和@NotBlank之间的区别
  @ModelAttribute注解用法详解
  聊聊Spring Cloud版本的那些事儿
  Nginx安装及配置
  Spring Cloud Config 客户端的高可用实现
  Redis用作消息队列
  理解 RESTful 风格的 API
  RESTful API的最佳设计原则
  网红框架SpringBoot2.x之定制参数浅析
  Spring Boot 整合 Ehcache
  使用idea和gradle编译spring5源码
  更多...
 IPIP: 已设置保密
楼主      
该用户目前不在线 nihaota 
  
威望: 0
级别: 新手上路
魅力: 1315
经验: 1315
现金: 2944
发文章数: 243
注册时间: 0001-01-01
 消息  查看  搜索  好友  邮件  复制  引用


讨债公司
发文章时间 2022-10-28 21:43:50
 IPIP: 已设置保密 1 楼     
1页 1条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。