本篇讲述后端开发中用到的主要框架,旨在了解框架的意义和种类
我相信对于大部分开发人员来说,框架再熟悉不过了,但是要给未接触过的人讲明白恐怕是非常难的,本节的目的就是让读者对于框架有50%的认知,剩下的需要在实践中体会。
假设我们把PPT当作一个框架。好了,现在我们来制作一个精美的PPT。做过PPT的同学应该知道,PPT可以对每页设置页面模板。比如下图首页所示:
框架就如同上面的PPT一样,它本身帮助我们定好了一系列的条条框框,以及通用的功能等。你看同样是PPT2003,不同的人做出来的PPT居然都不一样。框架也是如此,因为它把常用的方法功能等抽出来,设计成一整套的框框架架和主体结构,我们在基于这样的框架代码开发时,只需要在他们的基础上填充每个项目独特的代码即可,二者一结合,一整个项目功能模块就完成了。
也就是讲框架的优点有哪些。
这种如果要一条条说那真是太官方了。基于当前的互联网时代背景,低成本高效方便的做好项目就是好的。而要达到这一目的,使用市面上认可的,大家都在用的框架就成为了不二之选。
框架剩下的有点就需要靠各位在开发中自行体会。
随便网上一搜,就会看见什么SSH,SSM,spring boot,spring cloud等等傻傻分不清。下面,就帮助你理清思绪。
我们在前几篇文章中说过了,后端服务器的主要功能概括起来就是:
这类框架一般负责和数据库进行连接,负责SQL的处理,以及将查询到的数据映射成指定的java对象。这样子的框架有:
这类框架一般负责根据不同的API请求来调用程序中不同的处理方法,负责将调用者传入的数据映射成java对象,也负责处理程序返回给客户端的响应数据格式等。这样子的框架一般有:
这类框架主要用到了两个特性(其实是一个),以此来简化程序的复杂性,这里先稍微提及一下,以后再做说明,他们是:控制反转和依赖注入。总之呢,我们在程序中结合这类框架,写出来的程序具有更好的维护性扩展性,也更加清晰简洁。这类程序有:
针对不同的场景还有各种各样的其他框架,希望你们能够自己去主动学习了解。这里就不讲述了。比如 vert.x
上面提到了三类框架,那么怎么将他们整合到程序中呢?每个框架本来就是基于java开发的,自然是面向对象的,那么每个框架里面肯定有各种各样的类吧,按照官方文档,将实现某一功能需要的对象通过类 new 出来,就算是整合到你的程序里了。我们可以利用 guice
这样的框架,通过一些设计技巧,将其他两种类型的框架整合进来,但是这样子太麻烦了。
幸好,我们拥有 Spring Framework
简称 spring
。他帮助我们做了整合这一步了,所以你看不论是 ssh还是ssm,都有s,代表的就是 spring
。
我们选用的框架有:
* 数据层:mybatis
* API层:spring mvc
* 业务层:spring
* 外加重要的:spring boot
这里说一下 spring boot
,其他三个你们都知道了。那 spring boot
是什么呢?就是进一步简化基于 spring
框架的项目的构建工具。boot本就是启动的意思,用上 spring boot
进行java后台开发,在spring的基础上又省力了许多。
有人说 python 这类的开发web速度完爆java的,可以说他们没感受过这一套框架的魅力。
好了,这些框架下面的系列继续讲述。