SSH框架理解
2016-04-03 20:43
369 查看
最近在学习SSH项目,先宏观了解什么是SSH?SSH(Struts,Spring,Hibernate),Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装。下图为分层的图片,一张图胜过千言万语。。。
Struts实现了MVC框架,主要分为Model、View和Controller三部分,其主要涉及理念是通过控制器将表示逻辑和业务逻辑解耦,以提高系统的可维护性和可重用性。Spring是一个轻量级的IOC和AOP容器框架。
一、Struts
Struts是开源软件,这是它的一大优势,我们可以深入了解内部实现机制。Struts框架为开发者提供了一个统一的标准框架,使用Struts作为基础,开发者能够更加专注于应用程序的逻辑。Struts框架使用java Servlet和javaServer Pages技术实现MVC。
二、Spring
Spring管理业务逻辑层,作用相当于将Struts和Hibernate连接起来,将看似没有关系的Struts和Hibernate连起来,方法、Action都放在spring的配置文件中是二者建立关系。这样做让各层只需做好自己的事情,而统一的调度由spring来管理。这是一种简单的应用。
Spring是一个轻型容器,其核心是Bean工厂,用来构建我们所需要的Model。在此基础上,Spring还提供了AOP(面向切面的编程)和IOC容器,另外还有多个模块,比如ORM、DAO等等,组成Spring框架的每个模块都可以单独存在,或者与其他一个或多个模块联合实现。
三、Hibernate
Hibernate是一个开源的对象关系映射框架,对JDBC进行了轻量级的对象封装,它是一个独立的对象持久化框架,和EJB没有必然的联系。这样当开发人员使用时,只需要创建一系列的持久化类,每个类的属性都可以简单的和一张数据库表一一对应,当然也可以实现关系数据库的各种表关联的对象,当我们需要相关操作的时候,不用再关注与数据库表。不用再一行行的查询数据库,只需要持久化类就可以完成增删改查的功能,使我们的软件开发真正面向对象,而不是面对混乱的代码,这将大大提高开发效率。
总结:
这只是对SSH框架的一个简单理解,后续还需要深入研究。我们使用框架能够提高开发效率,适合大规模、迅速的开发,但框架都各有优缺点,要真正理解,还需要深刻理解每一个框架,接下来将深入研究每一个框架。。。
Struts实现了MVC框架,主要分为Model、View和Controller三部分,其主要涉及理念是通过控制器将表示逻辑和业务逻辑解耦,以提高系统的可维护性和可重用性。Spring是一个轻量级的IOC和AOP容器框架。
一、Struts
Struts是开源软件,这是它的一大优势,我们可以深入了解内部实现机制。Struts框架为开发者提供了一个统一的标准框架,使用Struts作为基础,开发者能够更加专注于应用程序的逻辑。Struts框架使用java Servlet和javaServer Pages技术实现MVC。
二、Spring
Spring管理业务逻辑层,作用相当于将Struts和Hibernate连接起来,将看似没有关系的Struts和Hibernate连起来,方法、Action都放在spring的配置文件中是二者建立关系。这样做让各层只需做好自己的事情,而统一的调度由spring来管理。这是一种简单的应用。
Spring是一个轻型容器,其核心是Bean工厂,用来构建我们所需要的Model。在此基础上,Spring还提供了AOP(面向切面的编程)和IOC容器,另外还有多个模块,比如ORM、DAO等等,组成Spring框架的每个模块都可以单独存在,或者与其他一个或多个模块联合实现。
三、Hibernate
Hibernate是一个开源的对象关系映射框架,对JDBC进行了轻量级的对象封装,它是一个独立的对象持久化框架,和EJB没有必然的联系。这样当开发人员使用时,只需要创建一系列的持久化类,每个类的属性都可以简单的和一张数据库表一一对应,当然也可以实现关系数据库的各种表关联的对象,当我们需要相关操作的时候,不用再关注与数据库表。不用再一行行的查询数据库,只需要持久化类就可以完成增删改查的功能,使我们的软件开发真正面向对象,而不是面对混乱的代码,这将大大提高开发效率。
总结:
这只是对SSH框架的一个简单理解,后续还需要深入研究。我们使用框架能够提高开发效率,适合大规模、迅速的开发,但框架都各有优缺点,要真正理解,还需要深刻理解每一个框架,接下来将深入研究每一个框架。。。
相关文章推荐
- Unity3D学习笔记(6)—— 飞碟射击游戏
- 2016-3-28至2016-4-3
- HDU-4969 Just a Joke (数学 - 积分)
- POJ 3253 Fence Repair
- 静态变量、全局变量和局部变量
- 第五周学习进度条
- POJ2728 Desert King
- Android入门(三)Activity-生命周期与启动模式
- iOS UIVisualEffectView 为视图添加特殊毛玻璃的效果
- 【HDU2825】Wireless Password,AC自动机+状态压缩DP
- [ERROR] Could not create unix socket lock file /var/run/mysql/mysql.sock.lock
- POJ 2431 Expedition
- CentOS下 /etc/rc.d/ 目录
- 鼠标滚轮事件
- java 对象序列化
- Android入门(二)Activity-Toast、Intent
- ML初笔记
- Android设计模式应用-外观模式
- 游戏分类
- 查看端口被哪个进程占用