一辆汽车让你搞懂springmvc项目结构
汽车全貌,我们慢慢勾勒。不要急哦,急也没用。
为什么,要通过汽车学习呢?因为我看到有人把spring比作引擎,springboot是它的懒人包。一想,欸,好像很有道理。整个springmvc项目就好像一辆小车车。
所以,我们先找一张汽车图。
spring 发动机
首先,汽车前面有个引擎(发动机),发动机想要与汽车连,自然需要许多线。spring就是那个引擎,要想放入项目,就需要许多线。
springboot 发动机懒人包
然后,配置久了,大家就觉着,哇,好麻烦呐,能不能把线都设置好,让做项目的时候自动配置就好了。于是,对spring进行封装,有了springboot。
database 油箱
然后开始做汽车(项目)了,汽车要想开动,还需要燃油,也就是数据。一桶的油也就是数据库。数据库有了,但如果只用桶(文件等容器)连接汽车(项目)也太麻烦了,所以有了各式各样的油箱(数据库管理系统,比如MySQL、DB2等等)。
springmvc等后端框架 汽车结构
然后开始做框架,从发动机、到底盘、车身、电器设备。也就是各种框架,比如springMVC、struts等。时代在进步,汽车框架也在优化,所以有了层出不穷的框架。
curd 汽车具体功能
框架搭好了,就要具体做业务了,比如你做了电器设备的某一部分,做了一个椅子。也就是相关的一个curd功能。
html等界面 方向盘
等功能做的差不多了,做个与功能相关的外壳,比如你要开车,做个方向盘,向汽车下指令。这也就是相关的html页面。
前端框架 喷漆
页面做好了,你觉得这里不好看,那里缺个装饰。于是,喷喷漆,挂个吊坠。每个人选择不同,这就是各式各样的ui框架,如layui。
一辆汽车让你搞懂springmvc项目结构相关推荐
- 离职后才搞懂vue项目开发流程中的疑惑点
在离职的最后一个月,帮两位同事申请加薪,确切的说,申请加薪是导火索,我被扣上了哄抬同事工资以提高自己工资的帽子,在推动前后端分离工作中处处碰壁,点燃了压抑许久的离职冲动,领导培养自己四五年,不让声张, ...
- 一篇文章搞懂Django项目创建运行
一.安装Django 方法一:在cmd中安装Django 方法二:在pycharm中安装Django,点击settings,点击右边的加号即可添加库 搜索Django模块,点击install进行下载安 ...
- php 声明struct_彻底搞懂PHP 变量结构体
PHP5 中的 zval // 1. zval typedef struct _zval_struct { zvalue_value value; zend_uint refcount__gc; ze ...
- 一图看懂SpringBoot项目结构
- 【显卡】一文搞懂显卡
[显卡]一文搞懂显卡 文章目录 [显卡]一文搞懂显卡 1. 前言介绍 1.1 CPU和显卡的区别 1.1.1 作用不同 1.1.2 结构不同 1.1.3 应用场景不同 1.2 三个著名的显卡公司 2. ...
- 一文彻底搞懂线程安全问题
点击关注公众号,实用技术文章及时了解 来源:juejin.cn/post/6977173836584353822 前言 关于线程安全问题是一块非常基础的知识,但基础不代表简单,一个人的基本功能往往能决 ...
- 一文搞懂CAN FD总线协议帧格式
目录 1.为什么会出现CAN FD? 2.什么是CAN FD? 3.CAN FD和CAN总线协议帧异同 4.解析CAN FD帧结构 4.1.帧起始 4.2.仲裁段 4.3.控制段 4.4.数据段 4. ...
- 一文搞懂各种架构(业务架构、应用架构、数据架构...
01 什么是架构和架构本质 02 架构分层和分类 03 架构的级别 04 应用架构的演进 05 衡量架构的合理性 06 常见架构误区 07 架构知识体系 01 什么是架构和架构本质 在软件行业,对于什 ...
- 一文多图搞懂KITTI数据集下载及解析
转载自一文多图搞懂KITTI数据集下载及解析-阿里云开发者社区 KITTI Dataset 1.图片下载:点击下载:https://s3.eu-central-1.amazonaws.com/avg- ...
最新文章
- Apache Unable to find the wrapper https - did you forget to enable it when you configured PHP?
- vector排序与查找
- 使用NSRunloop等待异步任务完成
- c语言字母如何代表中文,怎么对中文字符串进行对比
- 李宏毅线性代数笔记8 :坐标系变换8
- PriorityQueue和queue的区别
- 春招实习前端面试题汇总
- Identity和IdentityServer的区别及联系
- aspx是什么语言_什么是网页
- js如何把ajax获取的值返回到上层函数里?
- 如何在CentOS / RHEL上使用yum命令
- 已收藏!java自学网址
- Ubuntu的一些常用快捷键
- 自定义异常 java_Java自定义异常–用户定义的异常
- Linux网络编程--tcp服务器
- AWS redshift-hdb pg(Greenplum), 内置函数、数据类型、字符集
- oracle /etc/fonts simfang.ttf,xelatex 无法找到方正字体
- 将你的vim打造成轻巧强大的IDE
- cpu 调频 温度 ondemand
- PostgreSQL on duplicate update
热门文章
- 程序员如何应对诸如“给我弄个网站吧”的请求?
- 如果把钱存入余额宝时,所有人都在受益,那么谁在亏损呢?
- sql数值计算函数ceil(x)、sign(X)、sqrt(X)、truncate(X,D)、floor(x)、pi()、mod(x,y)
- 【计算机网络】关于IP数据报 首部检验和的反码问题(二进制反码)
- 如何使用PowerShell保护密码
- 关于JAVA是值传递还是引用传递的问题
- django QuerySet
- centos7.2 使用rpm安装jdk8
- ompparticles.cpp:(.text+0x322): undefined reference to `omp_set_num_threads'
- 传智播客Lucene视频教程