从零开始的Spring Boot博客搭建(0)——前言

从零开始的Spring Boot博客搭建(0)——前言

  • Description:这系列博客大概是创新实践课程要求之一?,嘛就当做是自己学习Spring Boot的部分笔记吧。
  • 最近想写的东西很多,但是操作系统、计组ddl压身,让我很难抽出时间来认真总结一下开学以来所学的内容,这次总算是抽出来一点时间写出前言,后续内容会根据我的进度慢慢发。
  • 从某种意义上可以说,Java是一个幸运的语言,一直都有人为Java整体生态作出贡献,当人们觉得Java不能够担任Web开发是,出现了Spring,当人们觉得Spring太重、配置太繁琐时,Spring Boot诞生了,连当下最热门的机器学习、人工智能、大数据分析,Java也有Spark、Hadoop支持……我相信,只要有这样一群人,Java的生态还是会持续下去,Java就不会死。

0x00 功能简述

  • 作为一个最为基本的博客,肯定要有文章的增删改查功能、要有一个基本的后台来对文章内容进行管理。
  • 同时,博客增加评论系统以及阅读统计、访问统计也是很有必要的。
  • 不止如此,作为现代博客系统,增加Markdown支持也是必然的事情。
  • 至此,我们所要搭建的博客整体功能就基本成型了。

0x01 整体结构

前端:Vue + RESTful API
后端:Spring Boot + Spring MVC
包管理:Maven
数据库: MySQL + MyBatis
部署:nginx + Tomcat
运维:Docker

0x02 结构任务分配

前端

  • Vue:负责前端界面的渲染
  • RESTful API:前台渲染必备条件之一

后端

  • Spring Boot:负责整个Spring架构的默认配置、运行入口、以及与各部分组件的连接、协调。
  • Spring MVC:负责Web应用逻辑层的解析。

包管理

  • Maven:业界良心的包管理、以及自动化构建工具。

数据库

  • MySQL:没什么好说的,博客的必要数据库。
  • MyBatis:负责改善Spring应用的数据库连接以及SQL语句的拼接。

部署

  • nginx:负责静态资源的部署。
  • Tomcat:负责动态资源的部署。

运维

  • Docker:负责整个结构的虚拟化,抽象成一个微应用。

0x03 项目文件基础架构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
src
├─main
│ ├─java
│ │ └─com
│ │ └─ashzd
│ │ └─blog
│ │ ├─config //配置文件
│ │ ├─controller //控制器层
│ │ ├─dao //数据库操作
│ │ ├─interceptor //中间层
│ │ ├─model //模型层
│ │ ├─service //服务层
│ │ └─util //公用工具库
│ └─resources
│ ├─static //静态资源
│ │ ├─css
│ │ ├─img
│ │ └─js
│ └─templates //模板层
└─test
└─java

0x04 备注

  • 本项目Spring Boot Web应用采用的是后端提供API返回数据,前台Vue动态渲染,实现前后端分离。
  • Docker使用Docker-compose实现多容器互联。