当前位置:首页 > 技术分析 > 正文内容

分享一套SpringBoot开发博客系统源码,包含完整开发文档和视频

ruisui884个月前 (02-05)技术分析29

基本信息

项目名称:eblog

摘要:eblog是一个基于Springboot2.1.2开发的博客学习项目,为了让项目融合更多的知识点,达到学习目的,编写了详细的从0到1开发文档。

主要学习包括:自定义Freemarker标签,使用shiro+redis完成了会话共享,redis的zset结构完成本周热议排行榜,t-io+websocket完成即时消息通知和群聊,rabbitmq+elasticsearch完成博客内容搜索引擎等。值得学习的地方很多!

项目说明:

本博客是学习过程中搭建的项目,为了融合更多知识点,让博客看起来更加高大上,使用了多个框架组合,有些也是企业级项目中常用的解决方式。不够说实话,还有挺多内容缺少的,比如xss攻击预防等安全方面的。

代码结构:

eblog

│

├─src

│  ├─main

│  │  ├─java

│  │  │  └─com

│  │  │      └─markerhub

│  │  │          │  
CodeGenerator
.java 
#代码生成

│  │  │          │

│  │  │          ├─common

│  │  │          │  ├─exception 
#全局异常处理

│  │  │          │  ├─lang

│  │  │          │  └─templates 
#自定义Freemarker标签封装

│  │  │          │

│  │  │          ├─config 
#整合配置

│  │  │          ├─controller

│  │  │          ├─entity

│  │  │          │

│  │  │          ├─im 
#即时群聊

│  │  │          │  ├─handler

│  │  │          │  ├─message

│  │  │          │  ├─server

│  │  │          │  └─vo

│  │  │          │

│  │  │          ├─mapper

│  │  │          ├─schedules 
#定时任务

│  │  │          │

│  │  │          ├─search 
#内容搜索引擎与同步

│  │  │          │  ├─model

│  │  │          │  ├─mq

│  │  │          │  └─repository

│  │  │          │

│  │  │          ├─service

│  │  │          │  └─impl

│  │  │          │

│  │  │          ├─shiro 
#shiro整合

│  │  │          ├─
template
#定义标签

│  │  │          ├─util

│  │  │          └─vo

│  │  │

│  │  └─resources

│  │      │  application.yml

│  │      ├─mapper

│  │      ├─
static

│  │      │  └─res

│  │      └─templates 
#页面模板

技术选型:

  • 核心框架:Springboot 2.1.2
  • 安全框架:Apache Shiro 1.4
  • 持久层框架:Mybatis + mybatis plus 3.2.0
  • 页面模板:Freemarker
  • 缓存框架:Redis
  • 数据库:mysql
  • 消息队列:RabbitMq
  • 分布式搜索:Elasticsearch 6.4.3
  • 双工通讯协议:websocket
  • 网络通讯框架:t-io 3.2.5
  • 工具集合:hutool 4.1.17

知识要点:

  • 基于mybatis plus快速代码生成
  • 封装与自定义Freemarker标签
  • 使用shiro+redis完成了会话共享
  • redis的zset结构完成本周热议排行榜
  • t-io+websocket完成即时消息通知和群聊
  • 基于rabbitmq+elasticsearch的内容同步与搜索引擎

项目部署:

项目中我们用到了几个中间件,mysql、rabbitmq、elasticsearch。所以要提前安装好哈。

如何交流、反馈?

  • Git仓库:https://github.com/markerhub/eblog
  • 如需关注项目最新动态,请Watch、Star项目,同时也是对项目最好的支持

项目截图:

如何获取项目地址与详细的开发文档?

关注我,帮忙转发一下这篇文章后私信关键字【源码】

即可获取项目,以及作者的详细开发文档、以及完整项目讲解视频!

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1689.html

标签: 技术博客
分享给朋友:

“分享一套SpringBoot开发博客系统源码,包含完整开发文档和视频” 的相关文章

「 VUE3 + TS + Vite 」父子组件间如何通信?

组件之间传值,大家都很熟悉,涉及到 VUE3 +TS 好多同学就无从下手了,所以分享这篇文章,希望看完后提起 VUE3+TS 能够不慌不忙。平时使用的函数如:ref、reactive、watch、computed 等需要先引入才能使用,但是本篇文章介绍的 defineProps、withDefaul...

继Yuzu后,任天堂要求移除多个Switch模拟器项目

IT之家 7 月 11 日消息,任天堂美国分公司 (Nintendo of America) 已要求移除多个用于模拟 Nintendo Switch 游戏的开源模拟器项目,其中包括 Suyu、Nzu、Uzuy、Torzu、Sudachi 和 Yuzu-vanced 等。这些模拟器均被指控包含绕过任天...

「干货」FPGA设计中深度约束技巧及调试经验总结

今天跟大家分享的内容很重要,也是我们调试FPGA经验的总结。随着FPGA对时序和性能的要求越来越高,高频率、大位宽的设计越来越多。在调试这些FPGA样机时,需要从写代码时就要小心谨慎,否则写出来的代码可能无法满足时序要求。另外,最近跟网友聊天时,有谈到公众号寿命的问题,我觉得网络交换FPGA公众号应...

Excel中的FILTER函数详细介绍及使用示例

在Excel中处理大量数据时,经常需要根据特定条件筛选出符合条件的数据行或列。这正是Excel的FILTER函数发挥作用的地方。FILTER函数是Excel中一个非常强大的工具,它可以基于一个或多个条件动态地过滤数据,使数据分析和报告制作变得更加高效和准确。本文将详细介绍FILTER函数的用法,并提...

Vue进阶(幺叁捌):vue路由传参的几种基本方式

1、动态路由(页面刷新数据不丢失)methods:{ insurance(id) { //直接调用$router.push 实现携带参数的跳转 this.$router.push({ path: `/particulars/${id}`,...

vue3使用vue-router路由(路由懒加载、路由传参)

vue-router 是 vue的一个插件库1. 专门用来实现一个SPA单页面应用2 .基于vue的项目基本都会用到此库SPA的理解1) 单页Web应用(single page web application,SPA)2) 整个应用只有一个完整的页面3) 点击页面中的链接不会刷新页面, 本身也不会向...