对于spring,hibernate,struts等框架,刚开始的时候总是会很迷茫,不知道他们是用来做什么的。

1.对框架的作用理解

个人认为框架的作用是把代码进行了分类,减少了代码的耦合性。

如果不用框架的话,自己写出来的代码会很乱,各种函数方法都会聚集在一个类中或一个界面,而引入框架后对代码进行了分类。

例如spring中的xml,controller,service等,在controller中进行了对entity及service的调用。

这样代码更易于管理,方便维护,不至于在写完之后自己找都找不到了。

做项目的时候还用了mybatis。spring与struts是逻辑层使用,而mybatis与hibernate是数据持久层使用。

mybatis实现了dao接口与xml的绑定,自动生成了接口的具体实现。

 2.spring与struts对比

//引用

3.hibernate与mybatis与ibatiS对比

hibernate就是把jdbc封装起来作为工具使用。

mybatis中需要自己写sql及resultMap,及对应结果的映射,而hibernate不需要,直接用就可以。当相对来说hibernate上手较mybatis更难。

hibernate数据移植性好,适合快速修改,数据库无关性高,功能很强大。

mybatis较之比较弱,但可以更细致sql。

ibatiS比mybatis更弱,需要手动指定对应关系。

 4.MVC是什么

(M)model  (V)view (C)control

model实现系统业务逻辑,view显示相当于jsp显示界面 ,control控制 model和view

mvc目的是实现web系统的职能分工。

各司其职,改起来比较方便,当业务变动时只需修改M层,当界面变化,只需修改V层。

对spring,struts,hibernate及MVC的理解的更多相关文章

  1. Spring+Struts+Hibernate 简介(转)

    http://blog.csdn.net/slnqnd/article/details/1772910/ Struts2.0 +Hibernate 3.2 +Spring 2.0 一.         ...

  2. MyEclipse — Maven+Spring+Struts+Hibernate 整合 [学习笔记-4]

    引入Hibernate 在pom.xml中加入jar包引用 <!-- hibernate4 --> <dependency> <groupId>org.hibern ...

  3. MyEclipse — Maven+Spring+Struts+Hibernate 整合 [学习笔记-3]

    引入Struts2 在pom.xml中加入jar包 <!-- struts2 --> <dependency> <groupId>org.apache.struts ...

  4. MyEclipse — Maven+Spring+Struts+Hibernate 整合 [学习笔记-2]

    引入Spring 修改 pox.xml 文件 添加jar包引用 <!-- spring3 --> <dependency> <groupId>org.springf ...

  5. MyEclipse — Maven+Spring+Struts+Hibernate 整合 [学习笔记-1]

    示例数据库test,用户信息表

  6. spring+struts+hibernate整合

    spring整合: 1:添加配置文件和相应的spring jar包(记得一定要加上commons-logging的jar包,有坑****) 2:创建date对象,如果成功则spring的环境ok

  7. MyEclipse — Maven+Spring+Struts+Hibernate 整合 [学习笔记-5]

    测试项目 目录结构

  8. Spring + Struts + Hibernate 简单封装通用接口

    1.BaseDao public interface BaseDao<T> { /** * 获取符合条件的记录数 * @param filter * @param sortName * @ ...

  9. Spring + Struts + Hibernate + Bootstrap-table 实现分页和增删改查

    1.bootstrap界面效果图: 2.Teacher实体类 public class Teacher { private int id; private String name; private S ...

随机推荐

  1. Djanto static静态文件配置

    django的settings中包含三个static相关设置项: STATIC_ROOT STATIC_URL STATICFILES_DIRS   STATIC_URL 好理解,就是映射到静态文件的 ...

  2. 使用 Redis 统计在线用户人数

    在构建应用的时候, 我们经常需要对用户的一举一动进行记录, 而其中一个比较重要的操作, 就是对在线的用户进行记录. 本文将介绍四种使用 Redis 对在线用户进行记录的方案, 这些方案虽然都可以对在线 ...

  3. [ Android 五种数据存储方式之三 ] —— SQLite存储数据

    SQLite是轻量级嵌入式数据库引擎,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使用了 ...

  4. KingbaseES的standby搭建

    KingbaseES数据库部署及双机热备配置 Dataguard双机热备部署 注:配置期间使用数据库的属主用户进行操作 1.1 数据一致性准备 (1)修改数据库的配置文件参数:(2阶段初始化的数据库实 ...

  5. Linux安装配置VPN服务器

    一.实验简介 VPN ,中文翻译为虚拟专有网络,英文全称是 Virtual Private Network .现在 VPN 被普遍定义为通过 一个公用互联网络建立一个临时的.安全的连接,是一条穿过混乱 ...

  6. Refused to set unsafe header "Connection"

    参考 http://stackoverflow.com/questions/7210507/ajax-post-error-refused-to-set-unsafe-header-connectio ...

  7. hyperLink的定制

    在iReport中增加hyperLink,点击之后没有反应:需要重新写一遍net.sf.jasperreports.view.JRViewer; 修改其中的gotoHyperlink方法: case ...

  8. 使用AIR进行移动APP开发常见功能和问题(上)

    1.  获取最近联系人 思路:侦听Geolocation的update事件,获取经度和纬度信息,再把坐标信息上传至服务器,服务器比较坐标信息算出距离,返回最近位置的若干个人. update时间在2种情 ...

  9. JDK1.8源码阅读系列之三:Vector

    本篇随笔主要描述的是我阅读 Vector 源码期间的对于 Vector 的一些实现上的个人理解,用于个人备忘,有不对的地方,请指出- 先来看一下 Vector 的继承图: 可以看出,Vector 的直 ...

  10. 编写JQuery插件-4

    封装对象方法的插件 jQuery.fn.extend() 的两种写法 以添加一个点击按钮为例: 方法一: (function ($) { $.fn.mask = function(options){ ...