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)的容器框架。

什么是框架?常用框架有哪些?相关推荐

  1. android slidingmenu框架,常用框架之SlidingMenu的使用(基于AndroidStudio)

    大家都知道,框架的使用将大大提高我们的开发效率,但很对新手不知道框架怎么用. 接下来我将不定期更新一些常用流行框架的使用方法,如果有兴趣欢迎订阅哦. 今天介绍SlidingMenu的基本使用方法,进一 ...

  2. Java架构技术文档:并发编程+设计模式+常用框架+JVM+精选视频

    本篇文章是我们整理的一份架构师的成长路线,包括了并发编程.设计模式.常用框架.中间件.微服务与分布式.常用工具.JVM.MySQL.数据结构与算法,还有架构师精选视频.架构师成长路线高清大图. 又是新 ...

  3. 卷积神经网络CNN与深度学习常用框架的介绍与使用

    一.神经网络为什么比传统的分类器好 1.传统的分类器有 LR(逻辑斯特回归) 或者 linear SVM ,多用来做线性分割,假如所有的样本可以看做一个个点,如下图,有蓝色的点和绿色的点,传统的分类器 ...

  4. IOS基础之Foundation框架常用类NSFileManager,DSDate,CGPoint,CGSize,copy,单例

    IOS基础之Foundation框架常用类NSFileManager,DSDate,CGPoint,CGSize,copy,单例 1.01_FileManager学习 // // main.m // ...

  5. JAVA后端常用框架SSM,redis,dubbo等

    JAVA后端常用框架SSM,redis,dubbo等 一.SpringMVC http://blog.csdn.net/evankaka/article/details/45501811 spring ...

  6. 【Python笔记】网络爬虫——常用框架介绍以及 Scrapy 框架使用

    网络爬虫开发常用框架 Scrapy 爬虫框架 Crawley 爬虫框架 PySpider 爬虫框架 Scrapy 爬虫框架的使用 搭建 Scrapy 爬虫框架 1. 安装 Twisted 模块 2. ...

  7. Java常用框架笔记(1)

    Linux操作系统 重点在于使用,理论可以几乎忽略 学习原因: 我们一般是在Windows上开发,Linux上去做部署 市面上的常见的操作系统 Windows系列,unix系统,Linux系统,mac ...

  8. AI常用框架和工具丨1. 科学计算库NumPy

    科学计算库NumPy,AI常用框架和工具之一.理论知识结合代码实例,希望对您有所帮助. 文章目录 环境说明 一.NumPy简介 二.数组 2.1 NumPy数组的优势 2.2 ndarray对象 2. ...

  9. iOS 常用框架介绍

    iOS框架介绍      Cocoa Touch GameKit  实现对游戏中心的支持,让用户能够在线共享他们的游戏相关的信息  iOS设备之间蓝牙数据传输   从iOS7开始过期   局域网游戏 ...

  10. python开发微信订阅号如何申请_基于Python的微信公众平台二次开发(Python常用框架、订阅号开发、公众号开发)...

    1.1.课程的背景 微信公众平台的火热程度已经不用多言,无论是个人还是企业,政府还是商家,都已经开始搭建微信公众平台,微信的作用已经被各界人士认可.微信公众平台的技术需求市场缺口巨大.同时python ...

最新文章

  1. 收藏一个有趣的帖子,现在的客户端真有点让人不安,难怪XSS。。。
  2. SharePoint2010整合Silverlight 4应用——Bing地图控件
  3. Java整合Spring发送邮件
  4. PingingLab传世经典系列《CCNA完全配置宝典》-3.4 Trunk进阶配置
  5. 汇编语言复习摘要二——寄存器
  6. 配置ssh 无需密码即可登录远程服务器
  7. Linux alias设置别名 Ubuntu设置别名创建简写指令短命令
  8. 使用Linux的tzselect功能,查看各个洲都有哪些国家(地区)
  9. linux c语言播放midi,C语言实现--计算MIDI音符的频率
  10. qpython能使用json吗l_现在还能使用土墙吗?
  11. [Android]Android TraceView工具使用
  12. 嵌入式Linux移植实验
  13. 最高响应比优先算法(HRRF)及例题详解
  14. 得到网页的最新更新时间
  15. 【内置人脸识别】APP破解分析
  16. R语言多重比较示例:Bonferroni校正法和Benjamini Hochberg法
  17. [转贴]+[水贴]:) 好话连篇
  18. 2021上海高考成绩几点查询,2021年上海高考分数公布时间几点,具体时间什么时候可以查询...
  19. [附源码]JAVA毕业设计美食推荐管理系统(系统+LW)
  20. 梯度提升树(GBDT)算法超详细版本

热门文章

  1. DEM数据知识介绍-数字高程模型
  2. 【淘宝API开发系列】获得商品评论 API 返回值说明
  3. 点击input文本框,文字消失 JS
  4. Macbook M1开启允许任意来源应用
  5. 木马编程入门_逆向入门分析实战(一)
  6. redis集群批量删除指定的key
  7. 电机噪音测试:手持式噪音计术语1
  8. 2种方式获取StreamingAssets下音频
  9. FENeRF: Face Editing in Neural Radiance Fields
  10. Ubuntu服务器设置简体中文