汽车全貌,我们慢慢勾勒。不要急哦,急也没用。
    为什么,要通过汽车学习呢?因为我看到有人把spring比作引擎,springboot是它的懒人包。一想,欸,好像很有道理。整个springmvc项目就好像一辆小车车。
    所以,我们先找一张汽车图。

spring 发动机

首先,汽车前面有个引擎(发动机),发动机想要与汽车连,自然需要许多线。spring就是那个引擎,要想放入项目,就需要许多线。

springboot 发动机懒人包

然后,配置久了,大家就觉着,哇,好麻烦呐,能不能把线都设置好,让做项目的时候自动配置就好了。于是,对spring进行封装,有了springboot。

database 油箱

然后开始做汽车(项目)了,汽车要想开动,还需要燃油,也就是数据。一桶的油也就是数据库。数据库有了,但如果只用桶(文件等容器)连接汽车(项目)也太麻烦了,所以有了各式各样的油箱(数据库管理系统,比如MySQL、DB2等等)。

springmvc等后端框架 汽车结构

然后开始做框架,从发动机、到底盘、车身、电器设备。也就是各种框架,比如springMVC、struts等。时代在进步,汽车框架也在优化,所以有了层出不穷的框架。

curd 汽车具体功能

框架搭好了,就要具体做业务了,比如你做了电器设备的某一部分,做了一个椅子。也就是相关的一个curd功能。

html等界面 方向盘

等功能做的差不多了,做个与功能相关的外壳,比如你要开车,做个方向盘,向汽车下指令。这也就是相关的html页面。

前端框架 喷漆

页面做好了,你觉得这里不好看,那里缺个装饰。于是,喷喷漆,挂个吊坠。每个人选择不同,这就是各式各样的ui框架,如layui。

一辆汽车让你搞懂springmvc项目结构相关推荐

  1. 离职后才搞懂vue项目开发流程中的疑惑点

    在离职的最后一个月,帮两位同事申请加薪,确切的说,申请加薪是导火索,我被扣上了哄抬同事工资以提高自己工资的帽子,在推动前后端分离工作中处处碰壁,点燃了压抑许久的离职冲动,领导培养自己四五年,不让声张, ...

  2. 一篇文章搞懂Django项目创建运行

    一.安装Django 方法一:在cmd中安装Django 方法二:在pycharm中安装Django,点击settings,点击右边的加号即可添加库 搜索Django模块,点击install进行下载安 ...

  3. php 声明struct_彻底搞懂PHP 变量结构体

    PHP5 中的 zval // 1. zval typedef struct _zval_struct { zvalue_value value; zend_uint refcount__gc; ze ...

  4. 一图看懂SpringBoot项目结构

  5. 【显卡】一文搞懂显卡

    [显卡]一文搞懂显卡 文章目录 [显卡]一文搞懂显卡 1. 前言介绍 1.1 CPU和显卡的区别 1.1.1 作用不同 1.1.2 结构不同 1.1.3 应用场景不同 1.2 三个著名的显卡公司 2. ...

  6. 一文彻底搞懂线程安全问题

    点击关注公众号,实用技术文章及时了解 来源:juejin.cn/post/6977173836584353822 前言 关于线程安全问题是一块非常基础的知识,但基础不代表简单,一个人的基本功能往往能决 ...

  7. 一文搞懂CAN FD总线协议帧格式

    目录 1.为什么会出现CAN FD? 2.什么是CAN FD? 3.CAN FD和CAN总线协议帧异同 4.解析CAN FD帧结构 4.1.帧起始 4.2.仲裁段 4.3.控制段 4.4.数据段 4. ...

  8. 一文搞懂各种架构(业务架构、应用架构、数据架构...

    01 什么是架构和架构本质 02 架构分层和分类 03 架构的级别 04 应用架构的演进 05 衡量架构的合理性 06 常见架构误区 07 架构知识体系 01 什么是架构和架构本质 在软件行业,对于什 ...

  9. 一文多图搞懂KITTI数据集下载及解析

    转载自一文多图搞懂KITTI数据集下载及解析-阿里云开发者社区 KITTI Dataset 1.图片下载:点击下载:https://s3.eu-central-1.amazonaws.com/avg- ...

最新文章

  1. Apache Unable to find the wrapper https - did you forget to enable it when you configured PHP?
  2. vector排序与查找
  3. 使用NSRunloop等待异步任务完成
  4. c语言字母如何代表中文,怎么对中文字符串进行对比
  5. 李宏毅线性代数笔记8 :坐标系变换8
  6. PriorityQueue和queue的区别
  7. 春招实习前端面试题汇总
  8. Identity和IdentityServer的区别及联系
  9. aspx是什么语言_什么是网页
  10. js如何把ajax获取的值返回到上层函数里?
  11. 如何在CentOS / RHEL上使用yum命令
  12. 已收藏!java自学网址
  13. Ubuntu的一些常用快捷键
  14. 自定义异常 java_Java自定义异常–用户定义的异常
  15. Linux网络编程--tcp服务器
  16. AWS redshift-hdb pg(Greenplum), 内置函数、数据类型、字符集
  17. oracle /etc/fonts simfang.ttf,xelatex 无法找到方正字体
  18. 将你的vim打造成轻巧强大的IDE
  19. cpu 调频 温度 ondemand
  20. PostgreSQL on duplicate update

热门文章

  1. 程序员如何应对诸如“给我弄个网站吧”的请求?
  2. 如果把钱存入余额宝时,所有人都在受益,那么谁在亏损呢?
  3. sql数值计算函数ceil(x)、sign(X)、sqrt(X)、truncate(X,D)、floor(x)、pi()、mod(x,y)
  4. 【计算机网络】关于IP数据报 首部检验和的反码问题(二进制反码)
  5. 如何使用PowerShell保护密码
  6. 关于JAVA是值传递还是引用传递的问题
  7. django QuerySet
  8. centos7.2 使用rpm安装jdk8
  9. ompparticles.cpp:(.text+0x322): undefined reference to `omp_set_num_threads'
  10. 传智播客Lucene视频教程