java 搭建个人博客_Spring boot 搭建个人博客系统(一)——整体思路
Spring boot 搭建个人博客系统(一)——整体思路
一直想用Spring boot 搭建一个属于自己的博客系统,刚好前段时间学习了叶神的牛客项目课受益匪浅,乘热打铁也主要是学习,好让自己熟悉这类项目开发的基本流程。
0. 思路
博客的基本作用就是博主写文章,读者浏览文章,因此博客的基本功能就是文章的发布和阅读;同时为了方便浏览加入主题分类和标签分类等功能,为了增加互动加入赞踩和评论等功能;另外为了博客系统的完整性加入了文章点击量,热门文章排行,文章按月归档等功能。
博客功能列表为:
用户注册登录功能
Markdown文章发布功能
文章分页显示
文章主题分类
文章标签/标签云
文章点击量
热门文章排行
赞踩功能
评论/回复邮件提醒功能
评论敏感词过滤
Archives/按月归档
1. 搭建项目工程
使用IDEA搭建项目工程:File->New->Project->Maven->输入group和artifact等->Finish
1.1 引入spring boot依赖包
Maven项目是通过pom.xml文件配置工程依赖,项目组织结构等,修改pom.xml文件引入sping boot依赖包和工程开发依赖的包等
4.0.0
cn.tzy
blog
1.0-SNAPSHOT
wenda
Demo project for Spring Boot
jar
org.springframework.boot
spring-boot-starter-parent
1.4.0.RELEASE
UTF-8
1.8
org.springframework.boot
spring-boot-devtools
org.springframework.boot
spring-boot-starter-velocity
org.springframework.boot
spring-boot-starter-web
其中,引入spring-boot-devtools依赖是为了方便工程开发,比如静态文件修改之后无需重新运行整个工程,只需要重新编译修改的文件。
org.springframework.boot
spring-boot-devtools
另外,引入spring-boot-velocity依赖作为Web工程的模板引擎,用来将后端数据渲染到HTML页面再传输到前端浏览器显示。模板引擎的诞生是为了将显示与数据分离,从Sevlet开发时的数据页面混杂在一起变成了现在的数据和显示分离,从而也将页面渲染分成了前端渲染和后端渲染;后端渲染主要就是通过模板引擎将后端数据填充到模板页面中用来传输到前端浏览器显示,前端渲染主要是浏览器对页面CSS样式和JS动作的渲染。
org.springframework.boot
spring-boot-starter-velocity
同时,引入spring-boot-web依赖作为工程Web开发的基础包,Webk开发需要的一些注解,接口,类等都在这个包中。
org.springframework.boot
spring-boot-starter-web
1.2 工程结构
项目Web程序的搭建基于MVC的设计模式,即模型(Model)—视图(View)—控制器(Controller)。控制器用来接收请求,发送响应;视图用来渲染显示,模型用作表征数据实体。因此搭建工程结构如下图所示:
2. 搭建数据库
建好数据库用于存储博客系统数据。创建user表用于存储系统用户信息,创建ticket表用于存储用户登录的ticket信息,创建aricle表用于存储文章信息,创建tag表用于存储标签信息,创建article_tag表用于存储文章标签关系信息,创建comment评论表用于存储文章评论信息。
table
describe
user
用户信息表
ticket
登录信息表
aricle
文章表
tag
标签表
article_tag
文章标签关系表
comment
评论表
具体的表结构和对应的实体类在接下来应用中会逐步提到。
3. 总结
完成项目搭建,从下一篇开始逐步讲解系统的功能模块。
来源:[]()
java 搭建个人博客_Spring boot 搭建个人博客系统(一)——整体思路相关推荐
- java主流微服务框架_Spring Boot作为当下最流行的微服务开发框架,一名合格的Java开发者一定有所了解,...
Spring Boot作为当下最流行的微服务开发框架,一名合格的Java开发者一定有所了解, Spring Boot相对于传统的SSM框架来说:springboot使用了特定的配置方式,开发人员不需要 ...
- java restful接口开发实例_Spring Boot 中 10 行代码构建 RESTful 风格应用!
点击上方"Java后端技术",选择"置顶或者星标" 你关注的就是我关心的! 作者:江南一点雨 微信公众号:牧码小子(ID:a_javaboy) 推荐阅读:10个 ...
- Java注解配置rest服务_Spring Boot 注解—常用注解
注:该部分内容包含一些常用注解,如果没有学习过java注解的同学可以先看一下上一小节的内容Spring Boot 注解-基本知识 ,不看也没关系,下面就开始本节内容. @Configuration注解 ...
- java spring 面向切面编程_Spring Boot实战系列(3)AOP面向切面编程
AOP是一种与语言无关的程序思想.编程范式.项目业务逻辑中,将通用的模块以水平切割的方式进行分离统一处理,常用于日志.权限控制.异常处理等业务中. 快速导航 编程范式主要以下几大类 AOP(Aspec ...
- java 集成ibm mq 教程_Spring Boot JMS与IBM WebSphere MQ集成配置
Spring Boot JMS与IBM WebSphere MQ集成配置 [TOC] 前言 Spring Boot作为简化Spring开发的框架,已经为我们集成了ActiveMQ和RabbitMQ.只 ...
- java批量上传文件_Spring boot 实现单个或批量文件上传功能
一:添加依赖: org.springframework.boot spring-boot-starter-thymeleaf javax.servlet jstl org.apache.tomcat. ...
- java 事件监听应用_Spring Boot应用事件监听示例详解
前言 本文主要给大家介绍了关于Spring Boot应用事件监听的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 1. Spring Boot特有的应用事件 除了Spring ...
- java lettuce配置多数据源_Spring Boot 2.x Redis多数据源配置(jedis,lettuce)
多数据源最终表现其实就是 redis connection factory 不同 springboot 默认的redis配置维护了一套 connection factory 自己维护一套 connec ...
- java前后端分离框架_Spring Boot 入门及前后端分离项目实践
本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 个部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 项目实践开发.Spring Boot ...
最新文章
- 火山引擎向企业客户开放上万款抖音同款特效
- libevent中的hash表
- ubtuntu server下的包管理
- SAP UI5 CSS 类 sapUiSmallMarginEnd 的工作和添加原理
- 和会员说再见!抖音、西瓜视频独家免费上线14部院线大片
- 如何格式化电脑_如何将c盘格式化,垃圾文件太多,不知道怎么办
- 如何遍历或枚举JavaScript对象?
- HarmonyOS DevEco Studio 配置本地模拟器
- SOA架构设计和相关案例分析
- 树莓派pi 4 编译 linuxcnc
- [Linux 基础] -- Linux 之 fstab 文件详解
- cad导入进max线会乱_AutoCAD导入3dmax显示错乱(z轴归零).doc
- kvm坐席系统通过IP网关实现kvm设备系统去中心化管理应用
- 中文打字速度测试软件hztest_中文打字速度测试软件官方版
- ATTCK实战系列(二)琢磨篇
- 用5000字长文记录华为仓库服务GaussDB(DWS)上手过程【这次高斯不是数学家】
- Latex 插入代码(Matlab 或 Python)
- 通俗讲解单片机、ARM、MUC、DSP、FPGA、嵌入式错综复杂的关系
- cas1082287-99-7齐岳生物花菁染料合成线路
- Outlook收件箱总显示有未读邮件问题
热门文章
- cassss服务未启动_Mysql无法启动情况下,如何恢复数据呢?
- jupyter notebook python环境_jupyter Notebook环境搭建
- android crash没有日志_Android开发必备神器CrashCanary
- matlab矩阵的低秩分解,低秩分解的matlab代码看不懂,分解的两个矩阵在哪呀??...
- mysql 用户密码md5_使用MD5编码实现数据库用户密码字段的加密
- 编程范式 —— 函数式编程入门
- 别转管理,十年程序员老鸟给新手的几条忠告(转)
- java九种数据类型以及封装类
- JavaScript中的匿名函数遇上!会怎么样
- 线程协作-CountDownLatch