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 企业级应用开发中大家耳熟能详的概念-三层架构, ...
随机推荐
- 2019HDU多校第七场 HDU6651 Final Exam
一.题目 Final Exam 二.分析 题目说的比较绕,总之一定要记住,$n$个题目都可以做,至少作对$k$到,但是做题目的人不知道每道题对应的分数. 作为出题人,如果他是田忌,肯定不会去在做题目的 ...
- PTA 两个有序链表序列的合并
6-5 两个有序链表序列的合并 (15 分) 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列. 函数接口定义: List Merge( List L1, List L ...
- 【小白学算法】5.链表(linked list)、链表的添加
链表其实也就是 线性表的链式存储结构,与之前讲到的顺序存储结构不同. 我们知道顺序存储结构中的元素地址都是连续的,那么这就有一个最大的缺点:当做插入跟删除操作的时候,大量的元素需要移动. 如图所示,元 ...
- Java程序员都要懂得知识点:反射
摘要:Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语 ...
- CodeForces571A. Lengthening Sticks(组合数学-容斥)
题目大意: a,b,c三根木棍可以增加三个不同的数字,aa,bb,cc,且aa+bb+cc<=L,问能构成三角形的木棒有多少种方案 题目思路: 如果我们直接考虑把L分配给aa,bb,cc好像不好 ...
- Web安全(更新中)
sql注入 创建一个数据库 create database admin1; 查询数据库 查看所有数据库 show databases; 使用该数据库 use admin1; 创建一个表 创建一个 ...
- mysql基础自学
1.1基础查询 语法:select 查询列表 from 表名;注意:1.查询列表可以是:表中的字段.常量值.表达式.函数2.查询的结果是一个虚拟表格 完整的写法是:先声明使用哪个库,再写SQL语 如果 ...
- Python的flask接收前台的ajax的post数据和get数据
ajax向后台发送数据: ①post方式 ajax: @app.route("/find_worldByName",methods=['POST']) type:'post', d ...
- 2021 小白版,360 行行行转 IT
hey guys ,我是 cxuan,这一篇文章我就要和你聊聊编程如何学习,这一篇文章涉及的内容简直太多了,我将从入门开始,一步一步到如何提高,然后到一些学习的相关问题,还有一些计算机相关的术语等,干 ...
- java正则匹配${xxx} 排除单引号双引号内的内容,前提引号必须成对出现
public static void main(String[] a) { String wpp = "select 1, ${mark} '``this is, `/message22` ...