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 企业级应用开发中大家耳熟能详的概念-三层架构, ...
随机推荐
- java实现所有排序算法
package sort;public class Sort { public static void BubbleSort(int[] arr) { //TODO 冒泡排序 for(int i=ar ...
- BZOJ_1503 [NOI2004]郁闷的出纳员 【Splay树】
一 题面 [NOI2004]郁闷的出纳员 二 分析 模板题. 对于全部员工的涨工资和跌工资,可以设一个变量存储起来,然后在进行删除时,利用伸展树能把结点旋转到根的特性,能够很方便的删除那些不符合值的点 ...
- js toFixed
为什么(2.55).toFixed(1)等于2.5? 上次遇到了一个奇怪的问题:JS的(2.55).toFixed(1)输出是2.5,而不是四舍五入的2.6,这是为什么呢? 进一步观察: 发现,并不是 ...
- Python中if __name__ = "__main__"的理解
通俗的理解__name__ ="__main__"的意思就是:当.py文件被直接运行时,if __name__ = "__main__"之下的代码快将被运行:当 ...
- 痞子衡嵌入式:盘点国内MCU级RISC-V内核IP厂商
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是国内MCU级RISC-V内核IP厂商. 自RISC-V指令集2010年诞生以来,业界普遍认为,RISC-V将会改变现有的由Arm和Int ...
- c++ 反汇编 堆变量
malloc _malloc 0037E8C0 8B FF mov edi,edi 0037E8C2 55 push ebp 0037E8C3 8B EC mov ebp,esp 0037E8C5 6 ...
- PAT (Basic Level) Practice (中文) 1050 螺旋矩阵 (25 分) 凌宸1642
PAT (Basic Level) Practice (中文) 1050 螺旋矩阵 (25 分) 目录 PAT (Basic Level) Practice (中文) 1050 螺旋矩阵 (25 分) ...
- Python数据分析入门(十六):设置可视化图表的信息
现在我们添加图后,没有指定x轴代表什么,y轴代表什么,以及这个图的标题是什么.因此以下我们通过一些属性来设置一下. 设置线条样式: 使用plot方法:plot方法就是用来绘制线条的,因此可以在绘制的时 ...
- Dynamics CRM字段安全配置文件
在实施Dynamics CRM的过程中,有些需求会提到部分字段针对特殊的人员或者团队进行显示.更新以及创建的需求的控制.这里我们就需要用到字段安全性文件这个功能.此功能针对具体实体的字段进行配置可以达 ...
- Java(265-278)【Map】
1.Map集合概述 是一个接口 键是唯一的 java.util.Map<k,v>集合 Map集合的特点: 1.Map集合是一个双列集合,一个元素包含两个值(一个key,一个val ...