当也许能够说是与你的初恋。妙龄的少女開始有些羞涩。是时候说说SHH的故事了。SHH是指Spring+Struts+Hibernate。还记研究生复试那天的面试,老师说了一句话Spring的核心是控制反转(IOC)和面向切面(AOP),你来说说控制反转IOC吧?。

Struts也是一个开源的框架,是MVC经典设计模式中的一个经典产品。Hibernate相同是开源框架,核心的接口与类有Session、SessionFactory、Transaction、Query、Criteria和Configuration。

Struts2是一个具有非常好有用价值的开源的Web MVC框架,主要是用来控制整个系统流程。

它由三个部分组成,核心控制器、业务控制器和用户实现的业务逻辑组件:

这里简单地理解一下它的原理:假设用户请求以action结尾,该请求将被转入Struts 2框架处理。

Struts 2框架获得了*.action请求后,将依据*.action请求的前面部分决定调用哪个业务逻辑组件,比如,对于add.action请求,Struts 2调用名为add的Action来处理该请求。

Hibernate框架是一种对象关系映射,顾名思义能够理解成应用程序和数据库之间的桥梁。完毕面向对象编程语言到关系型数据库的映射。

Hibernate能够说是一个提供数据库服务的中间件,进行数据持久化。能够从一张图看看这个框架:

能够看出Hibernate的核心接口主要有5个:SessionFactory单个数据库映射关系编译后的内存镜像实现Hibernate实例共享、Session应该程序与持久存储层之间交互操作、事物Transaction封装系统底层的事务操作和訪问的接口、Query持久化对象和数据的查询操作、Configuration创建SessionFactory对象。

Spring框架是一个开源的框架,贯穿表现层、业务层和持久层。减少各层组件的耦合度。非常好地实现解耦的效果。

Spring基于IOC控制反转核心机制和AOP面向切面编程的思想,能与多种持久层技术整合,是非常好地Web MVC框架:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

可见Spring框架由7个模块组成,各个模块相互独立也有关联。

他们之间的关系在之前的博客中我们有过交流,进一步的知识须要再深入学习。

SSH框架解析的更多相关文章

  1. SSH框架应用解析

    一.什么是SSH SSH 不仅仅只是一个框架,而是由多个框架集成而来,是 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架,结构清晰.可复用性好. ...

  2. 简化SSH框架的整合

    一.开发环境: (1)    OS:Windows 7 (2)    DB:MySql 5.1.6 (3)    JDK:1.8.0_17 (4)    Server:Apache Tomcat 8. ...

  3. SSH框架简化(struts2+spring+hibernate)

    目的: 通过对ssh框架有了基础性的学习,本文主要是使用注解的方式来简化ssh框架的代码编写. 注意事项: 1.运行环境:Windows 8-64位,Eclipse(开发工具),jdk1.8.0_91 ...

  4. 使用Spring注解来简化ssh框架的代码编写

     目的:主要是通过使用Spring注解的方式来简化ssh框架的代码编写. 首先:我们浏览一下原始的applicationContext.xml文件中的部分配置. <bean id="m ...

  5. SSH框架总结(框架分析+环境搭建+实例源码下载) 《转》

    这篇文章比较易懂,易理解: 首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层W ...

  6. SSH框架总结(框架分析+环境搭建+实例源码下载)

    来源于: http://blog.csdn.net/shan9liang/article/details/8803989 首先,SSH不是一个框架,而是多个框架(struts+spring+hiber ...

  7. [Java] SSH框架笔记_框架分析+环境搭建+实例源码下载

    首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...

  8. 【转载】SSH框架总结(将网上朋友写的给整合了下)

    一.Struts 在没有学习SSH框架前,我们一般采用Jsp+javabean+servlet开发,这里就是MVC架构.而Struts其实就是替代了Servlet,我们知道Servlet在一般的开发中 ...

  9. SSH框架应用中常用Jar包用途介绍

    struts2需要的几个jar包:1)xwork-core-2.1.62)struts2-core-2.1.83)ognl-2.7.34)freemarker-2.3.155)commons-io-1 ...

随机推荐

  1. Mysql 的表级锁和行级锁

    表级锁 MySQL表级锁分为读锁和写锁. 读锁 用法:LOCK TABLE table_name [ AS alias_name ] READ 释放锁使用UNLOCK tables.可以为表使用别名, ...

  2. tengine + lua 实现流量拷贝

    环境搭建参考地址:http://www.cnblogs.com/cp-miao/p/7505910.html cp.lua local res1, res2, action action = ngx. ...

  3. JVM类加载的那些事

    原文出处: 占小狼 前言 Java源代码被编译成class字节码,最终需要加载到虚拟机中才能运行.整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载7个阶段.   加载 1.通过一个类的全限 ...

  4. Python 自用代码(递归清洗采标情况)

    将‘ISO 3408-1-2006,MOD  ISO 3408-2-1991,MOD  ISO 3408-3-2006,MOD’类似格式字符串存为: [{'code': 'ISO 3408-1-200 ...

  5. lodash kebabCase

    _.kebabCase([string='']) 转换字符串为 kebab case. _.kebabCase('Foo Bar'); // => 'foo-bar' _.kebabCase(' ...

  6. 关于部分Android手机安装apk,无法获取正常的logo

    最近出现过类似的问题,主要出现是在,MediaPad X1 7.0和MediaPad M1 8.0. 发布应用的时候明明配置好了图标的,但是始终找不到原因,郁闷了好几个小时,也浪费了好几个小时. 如果 ...

  7. 【DB2】NOT IN使用中的大坑

    1.环境准备 ------建表TB DROP TABLE TB; CREATE TABLE TB ( ID INTEGER, LEVEL_DETAIL ) ); INSERT INTO TB (ID, ...

  8. hibernate 继承映射关系( TABLE_PER_CLASS)

    Person,Student,Teacher各创建一个表,主键用一个中间表生成.   package com.bjsxt.hibernate; import javax.persistence.Ent ...

  9. 使用apache POI解析Excel文件

    1. Apache POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能. 2. POI结构 ...

  10. node.js 学习03

    node.js学习03 解决浏览器接收服务端信息之后乱码的问题: 服务器通过设置http响应报文头,告诉浏览器使用相应的编码 来解析网页. res.setHeader('Content','text/ ...