Java SSH/SSI框架科普(Struts+Spring+Hibernate/Ibatis)

简介: Java SSH/SSI框架科普(Struts+Spring+Hibernate/Ibatis)

一、SSH框架


Java SSH 为 Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。


http://struts.apache.org/


http://spring.io/


http://hibernate.org/


集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。


Struts:主要是用来做表示层,也就所谓的界面,和用户直接打交道,用来处理用户的请求和请求后返回给用户的模型数据。 Struts对Model,View和Controller都提供了对应的组件。


Spring:业务层,是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。


Hibernate:Hibernate 是一个开放源码的 ORM 持久层框架。作为优秀的持久层框架实现,Hibernate 框架提供了强大、高性能的对象到关系型数据库的持久化服务,开发人员可以使用面向对象的设计进行持久层开发。简单的说,Hibernate 只是一个将持久化类与数据库表相映射的工具,每个持久化类实例均对应于数据库表中的一个数据行而已。用户只需直接使用面向对象的方法操作此持久化类实例,即可完成对数据库表数据的插入、删除、修改、读取等操作。




推荐书籍:


《轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)》


作者:李刚

出版社:电子工业出版社

出版时间:2014-10-1


http://product.dangdang.com/23572565.html




《经典Java EE企业应用实战——基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发》


作者:李刚

出版社:电子工业出版社

出版时间:2014-12-1


http://product.dangdang.com/20928547.html




《深入分析Java Web技术内幕(修订版)》

作者:许令波著

出版社:电子工业出版社

出版时间:2014-8-1


http://product.dangdang.com/23538043.html




《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)(配光盘)》

作者:刘京华等编著

出版社:清华大学出版社

出版时间:2010-1-1


http://product.dangdang.com/20756351.html




《Java Web整合开发实战--基于Struts 2+Hibernate+Spring》

作者:贾蓓,镇明敏,杜磊 编著

出版社:清华大学出版社

出版时间:2013-7-1


http://product.dangdang.com/23268958.html




《架构探险——从零开始写Java Web框架》


作者:黄勇著

出版社:电子工业出版社

出版时间:2015-8-1


http://product.dangdang.com/23760111.html


http://my.oschina.net/huangyong/blog


http://git.oschina.net/huangyong/smart-framework




《深入浅出MySQL:数据库开发、优化与管理维护(第2版)》

作者:唐汉明 翟振兴 关宝军 王洪权 黄潇 著

出版社:人民邮电出版社

出版时间:2014-1-1


http://product.dangdang.com/23399217.html




《高性能MySQL(第3版)》


作者:【美】施瓦茨(Schwartz,B.)【美】扎伊采夫(Zaitsev,P.) 【美】特卡琴科(Tkachenko,V.) 著

出版社:电子工业出版社

出版时间:2013-5-1


http://product.dangdang.com/23214590.html




二、SSI框架


Java SSI 为 Struts+Spring+Ibatis的一个集成框架,也是目前较流行的一种Web应用程序开源框架。


http://mybatis.github.io/


http://mybatis.github.io/mybatis-3/zh/index.html


http://blog.mybatis.org/


https://github.com/mybatis


iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2002年发起的开放源代码项目。于2010年6月16号被谷歌托管,改名为MyBatis。是一个基于SQL映射支持Java和·NET的持久层框架。


Struts2主要来源于webwork框架,与Struts1相比,在数据传递方面,Struts2提供了更加强大OGNL标签功能,使其能够通过在action中定义变量来直接与jsp页面中的数据进行相互传值,省去了Struts1中的formbean;而在跳转控制方面,Struts2简化了配置文件的信息量,使页面和action之间的交换更加的简洁和直观,便于开发人员的管理。

Spring功能非常的强大,比如它的控制反转/依赖注入机制,省去了我们自己书写工厂模式的工作,实现类对我们将要用到控制类、业务逻辑类、数据访问类、以及JNDI或者JDBC数据源的托管;Spring对AOP支持使我们在用户chmod.html' target='_blank'>权限控制、事务处理方面节省了很多工作量;

iBatis则是一种轻量级的OR Mapping框架,与Hibernate相比,iBatis提供了半自动化对象关系 映射的实现,开发人员需要编写具体的sql语句,为系统设计提供了更大的自由空间,为sql语句优化提供了便利。




三、Hibernate与 MyBatis的比较


http://blog.csdn.net/firejuly/article/details/8190229


ehcache+spring+struts2+hpsockes+hadoop+hbase


相关文章
|
12天前
|
Java 数据库连接 Apache
Java进阶-主流框架总结与详解
这些仅仅是 Java 众多框架中的一部分。每个框架都有其特定的用途和优势,了解并熟练运用这些框架,对于每一位 Java 开发者来说都至关重要。同时,选择合适框架的关键在于理解框架的设计哲学、核心功能及其在项目中的应用场景。随着技术的不断进步,这些框架也在不断更新和迭代以适应新的开发者需求。
32 1
|
15天前
|
存储 Java 程序员
Java中的集合框架:从入门到精通
【8月更文挑战第30天】在Java的世界里,集合框架是一块基石,它不仅承载着数据的存储和操作,还体现了面向对象编程的精髓。本篇文章将带你遨游Java集合框架的海洋,从基础概念到高级应用,一步步揭示它的奥秘。你将学会如何选择合适的集合类型,掌握集合的遍历技巧,以及理解集合框架背后的设计哲学。让我们一起探索这个强大工具,解锁数据结构的新视角。
|
16天前
|
存储 算法 Java
Java中的集合框架深度解析云上守护:云计算与网络安全的协同进化
【8月更文挑战第29天】在Java的世界中,集合框架是数据结构的代言人。它不仅让数据存储变得优雅而高效,还为程序员提供了一套丰富的工具箱。本文将带你深入理解集合框架的设计哲学,探索其背后的原理,并分享一些实用的使用技巧。无论你是初学者还是资深开发者,这篇文章都将为你打开一扇通往高效编程的大门。
|
14天前
|
数据库 Java 数据库连接
Struts 2 与 Hibernate 的完美邂逅:如何无缝集成两大框架,轻松玩转高效 CRUD 操作?
【8月更文挑战第31天】本文通过具体示例介绍了如何在 Struts 2 中整合 Hibernate,实现基本的 CRUD 操作。首先创建 Maven 项目并添加相关依赖,接着配置 Hibernate 并定义实体类及其映射文件。然后创建 DAO 接口及实现类处理数据库操作,再通过 Struts 2 的 Action 类处理用户请求。最后配置 `struts.xml` 文件并创建 JSP 页面展示用户列表及编辑表单。此示例展示了如何配置和使用这两个框架,使代码更加模块化和可维护。
24 0
|
14天前
|
存储 算法 Java
Java中的集合框架深度解析与实践
【8月更文挑战第31天】在Java编程的海洋中,集合框架扮演着不可或缺的角色。本文将带你领略Java集合框架的魅力,从理论到实践,深入浅出地探索List、Set和Map等核心接口的使用技巧。我们将通过具体代码示例,展示如何在日常开发中高效运用这些工具,让你的代码更加优雅和高效。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇通往Java集合世界的大门。
|
22天前
|
并行计算 算法 Java
Java 中的 fork-join 框架详解
【8月更文挑战第23天】
39 0
|
24天前
|
SQL Java 数据库连接
【Java 第十三篇章】MyBatis 框架介绍
MyBatis 原名 iBATIS,2001 年由 Clinton Begin 创建,以其简易灵活著称。2010 年更名以重塑品牌形象。MyBatis 通过 SQL 映射文件将 SQL 语句与 Java 代码分离,支持编写原生 SQL 并与方法映射。具备对象关系映射功能,简化数据库记录处理。支持动态 SQL 构建,灵活应对不同查询条件。内置缓存机制,提升查询效率。相比全功能 ORM,MyBatis 提供更高 SQL 控制度和更好的维护性,并易于与 Spring 等框架集成,广泛应用于 Java 数据访问层。
12 0
|
24天前
|
设计模式 JSON 前端开发
【Java 第十二篇章】SpringMvc 框架介绍
Spring MVC 是 Spring 框架中的模块,采用 MVC 设计模式构建 Web 应用。核心组件包括 DispatcherServlet、Controller、Model 和 View。流程始于 DispatcherServlet 接收并分发请求至 Controller,Controller 处理业务逻辑并与 Model 交互,再通过 View 展示结果。优势包括松耦合架构支持多种视图技术,强大的请求处理和数据绑定功能简化开发,以及易于与其他 Spring 模块和第三方库集成。
10 0
|
11天前
|
监控 Java 调度
【Java学习】多线程&JUC万字超详解
本文详细介绍了多线程的概念和三种实现方式,还有一些常见的成员方法,CPU的调动方式,多线程的生命周期,还有线程安全问题,锁和死锁的概念,以及等待唤醒机制,阻塞队列,多线程的六种状态,线程池等
73 6
【Java学习】多线程&JUC万字超详解
|
4天前
|
Java 调度 开发者
Java并发编程:深入理解线程池
在Java的世界中,线程池是提升应用性能、实现高效并发处理的关键工具。本文将深入浅出地介绍线程池的核心概念、工作原理以及如何在实际应用中有效利用线程池来优化资源管理和任务调度。通过本文的学习,读者能够掌握线程池的基本使用技巧,并理解其背后的设计哲学。