什么是框架?常用框架有哪些?
1. 框架简介
目标
了解什么是框架
理解框架解决的问题
讲解
1.1 什么是框架
框架是整个或部分应用的可重用设计,是可定制化的应用骨架。它可以帮开发人员简化开发过程,提高开发效率。
项目里有一部分代码:和业务无关,而又不得不写的代码==>框架
项目里剩下的部分代码:实现业务功能需要的逻辑代码
简而言之,框架是一个应用系统的半成品,开发人员在框架的基础上,根据业务需求开发功能。即:别人搭台,你唱戏。
1.2 框架解决了什么问题
框架主要是解决了技术整合问题,实现了项目和具体技术的解耦,提升项目的可维护性
一个应用系统,必定要选用大量的技术来完成业务需求,实现功能。这就导致应用系统依赖于具体的技术,一旦技术发生了变化或者出现问题,会对应用系统造成直接的冲击,这是应该避免的。
框架的出现,解决了这个问题:框架是技术的整合。如果使用了框架,在框架基础上进行开发,那么开发人员就可以直接调用框架的API来实现功能,而不需要关注框架的底层具体使用了哪些技术。这就相当于框架“屏蔽”了具体的技术,实现了应用系统功能和技术的解耦。
框架一般处于低层应用平台(如JavaEE)和高层业务逻辑之间
1.3 有哪些常见的框架
每个框架都是要解决一些具体的问题的,我们可以从JavaEE的三层架构,来说一下常见的框架有哪些。
Mybatis:
框架职责:作用在dao层,负责数据库访问的框架。
框架介绍:
它原本是Apache的一个开源项目ibatis,后来迁移到了Google code,并改名为Mybatis;之后又迁移到了github上。
它是一个优秀的Java轻量级dao层框架,对JDBC进行了封装,使开发人员只需要关注SQL语句,而不需要关注JDBC的API执行细节。
Hibernate:
框架职责:作用在dao层,负责数据库访问的框架。
框架介绍:
Hibernate是一个完全面向对象的Dao层框架,封装程度非常高,开发人员可以完全以面向对象的方式操作数据库,甚至不需要编写SQL语句。
但是,正因为Hibernate的封装程度过高,导致它的执行效率受到了影响,是重量级框架。目前在国内使用的越来越少了。
SpringMVC:
框架职责:作用在web层,负责和客户端交互的框架。
框架介绍:
SpringMVC是Spring Framework的后续产品,受益于Spring框架的流行,并且因为SpringMVC使用简单、和Spring整合简单,导致SpringMVC框架在国内使用的也越来越多。
Struts1/Struts2:
框架职责:作用在web层,负责和客户端交互的框架。
框架介绍:
Struts1是比较老的框架,目前已经基本不使用了。
Struts2目前使用的也越来越少,逐步被SpringMVC代替
Spring:
框架职责:不是作用在某一层,而是实现web层、Service层、Dao层之间解耦的框架,是三层之间的粘合剂
框架介绍:Spring框架是为了解决应用开发的复杂性而创建的,任何Java应用都可以从Spring中受益。Spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架。
什么是框架?常用框架有哪些?相关推荐
- android slidingmenu框架,常用框架之SlidingMenu的使用(基于AndroidStudio)
大家都知道,框架的使用将大大提高我们的开发效率,但很对新手不知道框架怎么用. 接下来我将不定期更新一些常用流行框架的使用方法,如果有兴趣欢迎订阅哦. 今天介绍SlidingMenu的基本使用方法,进一 ...
- Java架构技术文档:并发编程+设计模式+常用框架+JVM+精选视频
本篇文章是我们整理的一份架构师的成长路线,包括了并发编程.设计模式.常用框架.中间件.微服务与分布式.常用工具.JVM.MySQL.数据结构与算法,还有架构师精选视频.架构师成长路线高清大图. 又是新 ...
- 卷积神经网络CNN与深度学习常用框架的介绍与使用
一.神经网络为什么比传统的分类器好 1.传统的分类器有 LR(逻辑斯特回归) 或者 linear SVM ,多用来做线性分割,假如所有的样本可以看做一个个点,如下图,有蓝色的点和绿色的点,传统的分类器 ...
- IOS基础之Foundation框架常用类NSFileManager,DSDate,CGPoint,CGSize,copy,单例
IOS基础之Foundation框架常用类NSFileManager,DSDate,CGPoint,CGSize,copy,单例 1.01_FileManager学习 // // main.m // ...
- JAVA后端常用框架SSM,redis,dubbo等
JAVA后端常用框架SSM,redis,dubbo等 一.SpringMVC http://blog.csdn.net/evankaka/article/details/45501811 spring ...
- 【Python笔记】网络爬虫——常用框架介绍以及 Scrapy 框架使用
网络爬虫开发常用框架 Scrapy 爬虫框架 Crawley 爬虫框架 PySpider 爬虫框架 Scrapy 爬虫框架的使用 搭建 Scrapy 爬虫框架 1. 安装 Twisted 模块 2. ...
- Java常用框架笔记(1)
Linux操作系统 重点在于使用,理论可以几乎忽略 学习原因: 我们一般是在Windows上开发,Linux上去做部署 市面上的常见的操作系统 Windows系列,unix系统,Linux系统,mac ...
- AI常用框架和工具丨1. 科学计算库NumPy
科学计算库NumPy,AI常用框架和工具之一.理论知识结合代码实例,希望对您有所帮助. 文章目录 环境说明 一.NumPy简介 二.数组 2.1 NumPy数组的优势 2.2 ndarray对象 2. ...
- iOS 常用框架介绍
iOS框架介绍 Cocoa Touch GameKit 实现对游戏中心的支持,让用户能够在线共享他们的游戏相关的信息 iOS设备之间蓝牙数据传输 从iOS7开始过期 局域网游戏 ...
- python开发微信订阅号如何申请_基于Python的微信公众平台二次开发(Python常用框架、订阅号开发、公众号开发)...
1.1.课程的背景 微信公众平台的火热程度已经不用多言,无论是个人还是企业,政府还是商家,都已经开始搭建微信公众平台,微信的作用已经被各界人士认可.微信公众平台的技术需求市场缺口巨大.同时python ...
最新文章
- 收藏一个有趣的帖子,现在的客户端真有点让人不安,难怪XSS。。。
- SharePoint2010整合Silverlight 4应用——Bing地图控件
- Java整合Spring发送邮件
- PingingLab传世经典系列《CCNA完全配置宝典》-3.4 Trunk进阶配置
- 汇编语言复习摘要二——寄存器
- 配置ssh 无需密码即可登录远程服务器
- Linux alias设置别名 Ubuntu设置别名创建简写指令短命令
- 使用Linux的tzselect功能,查看各个洲都有哪些国家(地区)
- linux c语言播放midi,C语言实现--计算MIDI音符的频率
- qpython能使用json吗l_现在还能使用土墙吗?
- [Android]Android TraceView工具使用
- 嵌入式Linux移植实验
- 最高响应比优先算法(HRRF)及例题详解
- 得到网页的最新更新时间
- 【内置人脸识别】APP破解分析
- R语言多重比较示例:Bonferroni校正法和Benjamini Hochberg法
- [转贴]+[水贴]:) 好话连篇
- 2021上海高考成绩几点查询,2021年上海高考分数公布时间几点,具体时间什么时候可以查询...
- [附源码]JAVA毕业设计美食推荐管理系统(系统+LW)
- 梯度提升树(GBDT)算法超详细版本