Hibernate 系列 01 - 框架技术 (介绍Hibernate框架的发展由来)
引导目录:
本篇导航:

1.为什么学习框架技术
如何制作一份看上去具有专业水准的PPT文档呢?一个简单的方法就是使用Microsoft PowerPoint的模板功能,如图:

使用模板新建出来的文档已经有了一个PPT的“架子”,我们字需要把必要的信息像“填空题”一样填写进去就可以了,如图:

思考一下,使用PPT模板制作PPT有那些好处?
使用PPT模板制作文档的有点如下:
(1)不用考虑布局、排版等问题,提高了效率;
(2)可以专心于PPT的内容上,使演讲“质量”更有保障;
(3)新手也可以制作很专业的幻灯片演讲稿。
使用框架构建项目也是基于这样的考虑。当确定使用哪个技术框架后,就已经有一个“半成品”,然后在这个半成品里填上内容,工作就完成了。
框架技术的优势如下:
(1)不用再考虑公共问题,框架已经帮我们做好了;
(2)可以赚信誉业务逻辑,保证核心业务逻辑的开发质量;
(3)结构统一,便于学习和维护;
(4)框架中集成了前人的经验,可以帮助新手写出稳定、性能优良而且结构优美的高质量程序。
2.框架的概念
框架(Framework)是一个提供了可重用的公共结构的半成品。它为我们构建新的应用程序提供了极大的便利。
一方面提供了可以拿来就用的工具,更重要的是,提供了可重用的设计。
框架这个词最早出现在再建筑领域,指的是在建造房屋前期构建的建筑骨架如图:

对应用程序来说,“框架”就是应用程序的骨架,开发者可以在这个骨架上加上自己的东西,搭建符合自己需求的应用系统。
框架中凝结着前人的经验和知会,使用框架,我们就站在了巨人的肩膀上。
Rickard Oberg(WebWork的作者和JBoss的创始人之一)说过:“框架的强大之处不是源自它能让你做什么,而是它不能让你做什么。”
Rickard强调了框架另一个层面含义:框架使混乱的东西变得结构化。
莎士比亚说:“一个千人眼中有一千个哈姆雷特。”同样,如果没有框架的话,一千人将写出一千种Servlet+JavaBean+JSP的代码,而框架保证了程序结构风格统一。
从企业的角度来说,降低了培训成本和软件的维护成本。框架在结构统一和创造力之间维持着一个合适的平衡。
3. 主流框架的介绍
3.1 Struts框架
Struts是最早的Java开源框架之一,现有的大多数JavaEE Web应用程序都是基于Struts框架构建的。
Struts是MVC设计模式的一个优秀实现,它通过采用Java Servlet/JSP技术,实现了基于JavaEE Web应用的MVC设计模式的应用框架,是MVC设计模式的一个经典产品。
3.2 Struts2框架
Struts2以WebWork优秀的设计思想为核心,吸收了struts框架的部分优点,提供了一个更加整洁的基于MVC设计模式实现的Web应用程序框架。
它引入了几个新的框架特性:从逻辑中分离出横切关注点的拦截器,减少或者消除配置文件,贯穿整个框架的强大表达式语言,支持可变更和可重用的基于MVC模式的标签API等。
Struts2充分李永乐从其他MVC框架学到的经验和教训,使整个框架更清晰、更加灵活。
3.3 Hibernate框架
Hibernate是一个优秀的持久化框架,负责简化将对象数据保存到数据库中,或从数据库中读取数据并封装到对象的工作。
Hibernate通过简单配置和编码即可替代JDBC繁琐的程序代码。
Hibernate已经成为当前主流的数据库持久化框架,被广泛应用。
3.4 Spring框架
Spring也是一个开源框架。它的目标是使现有的JavaEE技术更容易使用和促进良好的编程习惯。
它是一个轻量级的框架,渗透了JavaEE技术的方方面面。它主要作为依赖注入容器和AOP实现存在,还提供了声明式事务、对AOP层的支持等简化开发的功能。
Spring还可以很方便的与Struts、Struts2、Hibernate等框架集成。
大名鼎鼎的SSH集成框架指的就是Struts/Struts2+Spring+Hibernate的技术框架。
使用这个集成框架将使我们的应用程序更加健壮、稳固、轻巧和优雅。这也是当前最流行的Java技术框架。
Hibernate 系列 01 - 框架技术 (介绍Hibernate框架的发展由来)的更多相关文章
- python nose测试框架全面介绍六--框架函数别名
		
之前python nose测试框架全面介绍二中介绍了nose框架的基本构成,但在实际应该中我们也会到setup_function等一系列的名字,查看管网后,我们罗列下nose框架中函数的别名 1.pa ...
 - Hibernate 系列 学习笔记 目录 (持续更新...)
		
前言: 最近也在学习Hibernate,遇到的问题差不多都解决了,顺便把学习过程遇到的问题和查找的资料文档都整理了一下分享出来,也算是能帮助更多的朋友们了. 最开始使用的是经典的MyEclipse,后 ...
 - [Hibernate系列—] 3. 映射文件和使用SchemaExport制作自己主动Schema
		
自己定义映射文件 这里的映射文件指的是相应到数据库表的xml 的定义文件. 相应的每一个数据库表栏位, 能够定义的属性有: 属性名 类型 Description length number 栏位的长度 ...
 - 爬虫--Scrapy框架课程介绍
		
Scrapy框架课程介绍: 框架的简介和基础使用 持久化存储 代理和cookie 日志等级和请求传参 CrawlSpider 基于redis的分布式爬虫 一scrapy框架的简介和基础使用 a) ...
 - 接口自动化测试框架 (一) :APIAutoTest框架
		
前言 随着测试技术的发展,接口自动化测试逐渐成为各大公司投入产出比最高的测试技术.介入时间早,执行效率高,稳定性高的优点,让越来越多的公司引入接口自动化测试. 框架简介 APIAutoTest是处理A ...
 - Hibernate初探之单表映射——Hibernate概念及插件的安装
		
什么是ORM ORM(Object/Relationship Mapping):对象/关系映射 为什么要有ORM? 利用面向对象思想编写的数据库应用程序最终都是把对象信息保存在关系型数据库中,于是要编 ...
 - 使用Hibernate框架技术时,对项目进行的配置
		
1.在需要使用Hibernate框架技术的项目上单击鼠标右键,在弹出的菜单中选择MyEclipse-->Add Hibernate Capabilities,打开Add Hibernate Ca ...
 - 【SSH框架】之Hibernate系列一
		
微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1.Hibernate框架概述 (1).什么是HibernateHibernate是一个开放源代 ...
 - 初始Hibernate框架技术
		
hibernate: 定义:ORM:Object Relational Mapping 对象 关系 映射 使用hibernate时几个必要的: 1.实体类 2.映射文件(类 -数据库表,属性-字段) ...
 
随机推荐
- DOM对象模型接口规范中的四个基本接口
			
DOM对象模型的四个基本接口 在DOM对象模型接口规范中,有四个基本的接口:Document,Node,NodeList以及NamedNodeMap.在这四个基本接口中,Document接口是对文档进 ...
 - 修改Tomcat响应请求时返回的Server内容
			
HTTP Server在响应请求时,会返回服务器的Server信息,比如 Tomcat 7 的Header是: 这东西其实会给一些别有用心之人带来一定的提示作用:为安全起见,我们一般会建议去掉或修改这 ...
 - 错误: 从内部类中访问本 地变量vvv; 需要被声明为最终类型
			
从github 下载了源码, 进行编译, 出现了下面的错误 E:\downloads\ff\elasticsearch-master\elasticsearch-master>GRADLE :b ...
 - iOS App引导页功能实现
			
一.写作原因 以前都没有想着来写点东西,今天遇到件事情让我决定每次还是要做记录.因为以前自己可以轻松的完成pod spec的配置,但是今天在做的时候还是忘了遇到了很多坑.pod spec配置遇到的坑不 ...
 - iOS---基于对Sqlilte3的二次包装的第三次包装--->JKDBModel ,一个好用的离线缓存库
			
https://github.com/Joker-King/JKDBModel 1.将FMDB和DBModel拖入项目中,然后添加libsqlite3.dylib 2. #import " ...
 - 使用Red Gate Sql Compare 数据库同步工具进行SQL Server的两个数据库的结构比较、同步
			
将测试版的项目同步(部署)到正式版的时候,两个数据库的结构比较与同步时,如果修改数据库的时候没有记录好修改了那些表,很难将两个数据库进行同步 RedGate Sql Compare使用简介说明: 1. ...
 - JavaScript随笔5
			
事件(1) 鼠标的点击坐标: 火狐不支持 IE event.clientX//可视区坐标 event.clientY FF ev.clientX ev.clientY 兼容: var oEvent = ...
 - 网站就必须用响应式布局吗?MVC视图展现模式之移动布局
			
本文先引入给读者一个自己研究的机会,下次深入说明一下: 废话不多说,直接上图 新建一个mvc的项目 在视图里面添加一个移动端视图 正常访问一下 Bootstrap自带的响应式的方式(页面代码并没有改变 ...
 - Android数据加密之Aes加密
			
前言: 项目中除了登陆,支付等接口采用rsa非对称加密,之外的采用aes对称加密,今天我们来认识一下aes加密. 其他几种加密方式: Android数据加密之Rsa加密 Android数据加密之Aes ...
 - 计算机程序的思维逻辑 (38) -  剖析ArrayList
			
从本节开始,我们探讨Java中的容器类,所谓容器,顾名思义就是容纳其他数据的,计算机课程中有一门课叫数据结构,可以粗略对应于Java中的容器类,我们不会介绍所有数据结构的内容,但会介绍Java中的主要 ...