java后端开发(三):开发框架解读 - Go语言中文社区

java后端开发(三):开发框架解读


前言

本篇讲述后端开发中用到的主要框架,旨在了解框架的意义和种类

什么是框架

我相信对于大部分开发人员来说,框架再熟悉不过了,但是要给未接触过的人讲明白恐怕是非常难的,本节的目的就是让读者对于框架有50%的认知,剩下的需要在实践中体会。

框架与PPT

假设我们把PPT当作一个框架。好了,现在我们来制作一个精美的PPT。做过PPT的同学应该知道,PPT可以对每页设置页面模板。比如下图首页所示:
PPT页面
我们填写了主标题和副标题,然后就可以直接开始幻灯片放映了。电脑全屏显示你刚才输入的文字,点击还可以切换页面,添加标记等等。
等等,我们到底做了什么?我们仅仅填写了十几个文字,结果就可以幻灯片放映了,而且主副标题样式还不一样,而且还有其他一堆功能都可以在幻灯片放映中使用。神奇吗?
你不会感到神奇,你只会感觉很正常啊。对,很正常,因为你每天都在用。为什么说框架难以讲述呢?就是因为框架在开发中经常用,根本不会感觉到神奇。好了,现在小结一下:
PPT看作框架,填写文字的过程看作我们写代码,然后幻灯片放映当作程序写好后开始运行。这样子,你能体会到框架的作用吗?

框架

框架就如同上面的PPT一样,它本身帮助我们定好了一系列的条条框框,以及通用的功能等。你看同样是PPT2003,不同的人做出来的PPT居然都不一样。框架也是如此,因为它把常用的方法功能等抽出来,设计成一整套的框框架架和主体结构,我们在基于这样的框架代码开发时,只需要在他们的基础上填充每个项目独特的代码即可,二者一结合,一整个项目功能模块就完成了。

为什么要用到框架

也就是讲框架的优点有哪些。
这种如果要一条条说那真是太官方了。基于当前的互联网时代背景,低成本高效方便的做好项目就是好的。而要达到这一目的,使用市面上认可的,大家都在用的框架就成为了不二之选。
框架剩下的有点就需要靠各位在开发中自行体会。

目前java后端开发有哪些框架

随便网上一搜,就会看见什么SSH,SSM,spring boot,spring cloud等等傻傻分不清。下面,就帮助你理清思绪。
我们在前几篇文章中说过了,后端服务器的主要功能概括起来就是:

接收外界的API请求,解析后去执行数据库操作,最后将数据包装好返回给调用者(当然,中间还包含其他业务逻辑)
所以,这句话中包含了三类框架的信息,分别是:和数据操作有关的,和API请求响应有关的,和业务逻辑有关的,我们下面就这三类来讲述。

和数据操作相关的

这类框架一般负责和数据库进行连接,负责SQL的处理,以及将查询到的数据映射成指定的java对象。这样子的框架有:

  • mybatis:
  • hibernate
    具体就先不展开讲了,现阶段将效果不大。

和API处理相关的

这类框架一般负责根据不同的API请求来调用程序中不同的处理方法,负责将调用者传入的数据映射成java对象,也负责处理程序返回给客户端的响应数据格式等。这样子的框架一般有:

  • struts:
  • spring mvc:

和业务逻辑相关的

这类框架主要用到了两个特性(其实是一个),以此来简化程序的复杂性,这里先稍微提及一下,以后再做说明,他们是:控制反转和依赖注入。总之呢,我们在程序中结合这类框架,写出来的程序具有更好的维护性扩展性,也更加清晰简洁。这类程序有:

  • spring:
  • guice

其他框架

针对不同的场景还有各种各样的其他框架,希望你们能够自己去主动学习了解。这里就不讲述了。比如 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的,可以说他们没感受过这一套框架的魅力。
好了,这些框架下面的系列继续讲述。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/zhou307/article/details/82352210
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 17:48:14
  • 阅读 ( 870 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢