![a91ab674e6f749867115bb767153b0bb.png](https://img-blog.csdnimg.cn/img_convert/a91ab674e6f749867115bb767153b0bb.png)
第1章 Spring框架详解
1.1 框架的概述
1.1.1 为什么要使用框架技术
现在我们已经能够完成数据库数据到页面的数据操作了,那么为什么还要学习框架技术呢?
举个例子
如何更快更好地写简历? 使用word简历模板!
![c72bc714ae6cc85acfc2afe2f9ca9fa1.png](https://img-blog.csdnimg.cn/img_convert/c72bc714ae6cc85acfc2afe2f9ca9fa1.png)
其实我们拿一个文本文档也能写一份简历,为什么要用word简历模板呢?
![441b75f2bf078c635d86ac996bc48db8.png](https://img-blog.csdnimg.cn/img_convert/441b75f2bf078c635d86ac996bc48db8.png)
对比之下我们不难发现,word模板还是很耐看的!!! 所以总结模板对干一件事的重要性
![9f880530f3d229d56f154134eb72d31e.png](https://img-blog.csdnimg.cn/img_convert/9f880530f3d229d56f154134eb72d31e.png)
总结来看,写个简历尚且如此,如果写代码不用个模板的话,为了写好我们的代码,我们也可以找 各种各样的模板来更好的写代码;
软件设计中 根据不同的软件操作 肯定也有不同的模板支持 那么我们统一把这些个帮助我们 完成不同编码模板的技术--> 框架技术
1.1.2 什么是框架技术
框架技术
是一个应用程序的半成品
提供可重用的公共结构
按一定规则组织的一组组件
分析优势
不用再考虑公共问题
专心在业务实现上
结构统一,易于学习、维护
新手也可写出好程序
注意 :
框架的产生是为了我们能够解决同类型一些任务中的共同问题,而且框架的产生最早起源于 建筑行业,建筑工程师发现他们每次盖楼其实结构都差不多,只是最后外观或者房屋细节有所区别,所以他们为了每次不重复的设计大楼,就出现了现在的钢筋或凝土结构的大楼框架, 有了它以后盖一个新楼就可以在这个基础上进行设计改造即可,既省时又省力;
后来软件设计中也引入了这一思想,所以才有了现在的框架技术;
1.1.3 主流框架介绍
1) 在Servlet的基础上优化而来的框架
![f8d9ffc23057ef4361236170cb8ec845.png](https://img-blog.csdnimg.cn/img_convert/f8d9ffc23057ef4361236170cb8ec845.png)
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中, Struts2作为控制器(Controller)来建立模型与视图的数据交互。
![a415b63e59bfe4379453262499b8e493.png](https://img-blog.csdnimg.cn/img_convert/a415b63e59bfe4379453262499b8e493.png)
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提 供了构建 Web 应用程序的全功能 MVC 模块。
2) 在JDBC的基础上优化而来的框架
![dead09b13f38fc6dbafc3cbfb5346096.png](https://img-blog.csdnimg.cn/img_convert/dead09b13f38fc6dbafc3cbfb5346096.png)
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封 装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate
可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操 纵数据库。
![6476b2d4ed28053e06c0fa3d73a65291.png](https://img-blog.csdnimg.cn/img_convert/6476b2d4ed28053e06c0fa3d73a65291.png)
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。
2013年11月迁移到Github。
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。 iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)
3) 一个容器级别的重要框架
![37cea881f56dbbaf6d380957ef2ee514.png](https://img-blog.csdnimg.cn/img_convert/37cea881f56dbbaf6d380957ef2ee514.png)
![29a8bcce270052e51b074458fe825a07.png](https://img-blog.csdnimg.cn/img_convert/29a8bcce270052e51b074458fe825a07.png)
Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问 题,因此它将面向接口的编程思想贯穿整个系统应用。
Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来 说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。 SSM框架 spri