springboot开发浅谈 2021/05/11
学习了这么久,本人希望有时间能分享一下,这才写下这篇浅谈,谈谈软件,散散心情。
这是本人的博客园账号,欢迎关注,一起学习。
一开始学习springboot,看了好多网站,搜了好多课程。零零落落学了一些,看得懂一些基础的springboot项目代码
,个人觉得线上课程太乱了,有些讲的全,有些讲的太难,看的想睡觉,个人还是建议看书,效率会比较高。
一开始学习,自己也不懂,学一下这个学一下那个,做了一堆笔记,现在翻看,成效不大。有些笔记太复杂,有些比较简单,但都缺乏一根绳子,将他们连起来,这个时候我就建议自己动手写一个项目,有一定基础的当然可以去研究一个框架,这样效率会非常高,自己动手写接口,学习效率会比看视频和看书高的多。
首次开发经历了太多坑,有一个好的项目经理来做引导或者说有一个比较好的框架来解决前期项目架构的问题,那可真是再好不过了。当然,在熟悉springboot之后,当然要看得懂架构。本人在这里分享一些前期项目开发的经验。

我大部分要分享的,这张图片差不错概括了一些。
首先,在前期开发项目中,如果是工作室开发,前期必然是看重项目的总体设计,说白了,就是demo,老师或者说是甲方,会很重视这个demo,这个demo某种程度上代表了很多东西,如果项目中包含多个模块,例如学校管理系统,要做学校端、老师端、学生端,其实都可以从demo扩展,只要前期做出了一个demo,那么后面熟练了流程,再多的端,也只要分配任务就行,一个人可以写几个端,没有压力。
对于demo,包括的无非是公共组件、项目模块、子系统。开发就照着这个项目模块来就行,最后测试完毕之后再整合,效率会比一般开发高。
至于图片中的前端后端交互,或许有些初学者会觉得开发很难,其实不然,你只要写出几个,其他的基本就是依葫芦画瓢,无非是业务不同而已。前后端的交互,在我看来,核心在于URL,不要小看这个URL,他代表了很多东西,例如如果项目包含多个模块,你可以从url中划分模块,分路径开发,可以说前后端分离,连接的核心便是url。
对于前后端,前端不用说,HTML+CSS+js或者vue或者其他,再包括一些请求技术,如axios和ajax,前端无非就是这些,前端学的好不好一看这些掌握的怎么样、用的怎么样,二看设计。至于后端,那确实门道挺多,对于图片上的这个后端,他不是简单的“后端”,他是经过层层包裹的后端,请求后端,刚接触后端的人可能觉得基础的MVC再加上一些安全框架就OK,其实不然,后端请求,首先他肯定是不能直接调到MVC的,在这张图看来,首先应该是过滤,成百上千的请求中,难免有几个”不怀好意“,非法闯入,像这种请求就应该过滤掉。之后请求就到了权限层,判断你是否有权限进行访问 ,之后再调MVC基本的接口。这样讲,请求某种程度上来讲是“横贯而来”的,但是呢,在它横贯而来的时候,也有东西要伴随他的一生,例如最常见的,log日志记录,从你请求后端的那一刻,他就伴随着你了,包裹住你,直到消失。可能我写的有点词不达意,各位可以看看图片中的后端部分,它用一个正方形形象描述了后端运作的过程,非常形象。
图片下面三个小圆柱体,那代表的是多数据源,这个我们后面再唠。
一个完整的项目,正是许许多多的细节、组件组合起来的,放大了来看,就像是水滴汇聚成河流,河流在汇聚成大海,其实开发并没有那么难,有些时候只不过是眼界的问题,基础打扎实了,或者一直在学习基础的,有时候可以放大眼界看一看,有时往往会发现很多有趣的东西,知识其实在你眼前,只不过你看他的方法太笨,扩展视野,放大眼界,开发、学习自然也就没那么困难,有时甚至还可以闲下来写写博客、散散心情。软件工程的生活,其实也是很有趣的。
springboot开发浅谈 2021/05/11的更多相关文章
- Android开发-浅谈架构(二)
写在前面的话 我记得有一期罗胖的<罗辑思维>中他提到 我们在这个碎片化 充满焦虑的时代该怎么学习--用30%的时间 了解70%该领域的知识然后迅速转移芳草鲜美的地方 像游牧民族那样.原话应 ...
- Python测试开发-浅谈如何自动化生成测试脚本
Python测试开发-浅谈如何自动化生成测试脚本 原创: fin 测试开发社区 前天 阅读文本大概需要 6.66 分钟. 一 .接口列表展示,并选择 在右边,点击选择要关联的接口,区分是否要登录, ...
- Delphi 组件渐进开发浅谈(一)——由简入繁
最近业余时间在写游戏修改器玩,对于Delphi自带的组件总觉得差强人意,需要书写大量冗余代码,如果大量使用第三方组件,在以后的移植和与他人交互时也不是很方便,因此便产生了自己封装组件的想法. 实际上这 ...
- 七年开发浅谈Nginx负载均衡
一 特点 1.1 应用情况 Nginx做为一个强大的Web服务器软件,具有高性能.高并发性和低内存占用的特点.此外,其也能够提供强大的反向代理功能.俄罗斯大约有超过20%的虚拟主机采用Nginx作为反 ...
- .NET项目开发—浅谈面向对象的纵横向关系、多态入口,单元测试(项目小结)
阅读目录: 1.开篇介绍 2.使用委托消除函数串联调用 2.1.使用委托工厂转换两个独立层面的对象 3.多态入口(面向对象继承体系是可被扩展的) 4.多态的受保护方法的单元测试(Protected成员 ...
- .NET项目开发—浅谈面向接口编程、可测试性、单元测试、迭代重构(项目小结)
阅读目录: 1.开篇介绍 2.迭代测试.重构(强制性面向接口编程,要求代码具有可测试性) 2.1.面向接口编程的两个设计误区 2.1.1.接口的依赖倒置 2.1.2.接口对实体的抽象 2.2.迭代单元 ...
- iOS开发--浅谈CocoaAsyncSocket编程
Socket就是一种特殊的文件.它是一个连接了两个用户的文件,任何一个用户向Socket里写数据,另一个用户都能看得到,不管这两个用户分布在世界上相距多么遥远的角落,感觉就像坐在一起传纸条一样. 这么 ...
- linux服务器开发浅谈
[开发前准备] 在进行linux服务器开发之前,必须很清楚地了解所开发的对象需要考虑的相关问题比如:功能架构:提供服务的模块体系结构稳定性:服务器的出core率,内存泄露情况性能:请求与返回的速度与正 ...
- JAVAEE企业级应用开发浅谈第二辑:MVC和三层架构
上海尚学堂警句:一份信心,一份努力,一份成功:十分信心,十分努力,十分成功. Step1.情景概要 Hello,小伙伴们,昨天跟大家分享了JAVA EE 企业级应用开发中大家耳熟能详的概念-三层架构, ...
随机推荐
- vim宏录制的操作
1:在vim编辑器normal模式下输入qa(其中a为vim的寄存器) 2:此时在按i进入插入模式,vim编辑器下方则会出现正在录制字样,此时便可以开始操作. 3:需要录制的操作完成后,在normal ...
- All I know about A/B Test (1) : 均值型指标与比值(率)型指标的计算区别
因为最近在找实习,所以打算把自己之前学过的关数据分析的知识总结(复习)一下.在总结A/B test时,我发现中文互联网中关于A/B test的总结已经很多了,但是对于均值型指标和比值(率)型指标在设计 ...
- 对控制器类型“StudentController”的操作“Edit”的当前请求在下列操作方法之间不明确:
"/"应用程序中的服务器错误. 对控制器类型"StudentController"的操作"Edit"的当前请求在下列操作方法之间不明确:类型 ...
- Android 开发学习进程0.30 builder模式创建popwindow
builder模式创建自定义popwindow builder设计模式 将一个复杂的对象构建与它的表示分离,简化代码的使用方式.当对象有多个参数或多个零件同时初始化方法同时初始化方法有默认值时,采用此 ...
- JDK 16 正式发布,一次性发布 17 个新特性…不服不行!
上一篇:Java 15 正式发布, 14 个新特性 JDK 16 正式发布 牛逼啊,JDK 15 刚发布半年(2020/09/15),JDK 16 又如期而至(2021/03/16),老铁们,跟上. ...
- java学习(更新中)
class Test { public static void main(String[] args) { System.out.println("Hello World!"); ...
- js 日期加减
加: console.log(moment().format("YYYY-MM-DD HH:mm:ss")); //当前时间 console.log(moment().add(10 ...
- 五、python学习-面向对象
1.面对对象程序开发基础(oop) 面对对象:高内聚 低耦合 面向过程: 优点:效率高,执行速度快 缺点:维护性,移植性差,表达不出一类的语义 面向对象: 优点:可读性,可移植性,可维护性高 缺点:执 ...
- C# Linq 延迟查询的执行
在定义linq查询表达式时,查询是不会执行,查询会在迭代数据项时运行.它使用yield return 语句返回谓词为true的元素. var names = new List<string> ...
- JWT 介绍 - Step by Step
翻译自 Mohamad Lawand 2021年3月11日的文章 <Intro to JWT - Step by Step> [1] 在本文中,我将向您介绍 JWT[2]. 我们今天要讲的 ...