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

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

zonemu2个月前 (08-26)技术文章18

基本信息

项目名称: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项目,同时也是对项目最好的支持

项目截图:

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

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

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

相关文章

使用GitLab实现CICD(gitlab配置cicd)

GitLab CI/CD 是一个内置在GitLab中的工具,用于通过持续方法进行软件开发:Continuous Integration (CI) 持续集成Continuous Delivery (C...

我常在使用的几个 VIM 插件(我常在使用的几个 vim 插件)

今天给你分享几个我觉得还不错的 VIM 插件,也许能给你带来一点「惊喜感」。vim主题插件 你完全可以让你的编辑器按照你喜欢的样子呈现,在 vimcolors 这个网站中,汇集了很多的主题,你可以进去...

(一)熟练HTML5+CSS3,每天复习一遍

前言学习网页的概念和分类,了解静态网页和动态网页的不同;了解网页浏览器的工作原理。了解HTML,XHTML,HTML5的概念,制作简单的HTML页面的开发。什么是网页可以在internet上通过网页浏...

聊城职院获省赛“HTML5交互融媒体内容设计与制作”赛项一等奖

11月25日,山东省职业院校技能大赛(高职组)“HTML5交互融媒体内容设计与制作”赛项在威海海洋职业学院学院圆满结束。学校信息工程系由计算机应用技术专业学生张慧、冯媛、王海阔三名学生组成的参赛团队,...

一键看懂Html5,就这么简单(查看html的app推荐)

HTML5是WEB开发世界的一次重大的改变,事实上不管你是否喜欢,它都是代表着未来趋势。曾几何时,当HTML5出现在web端开发领域的时候,并没有引起太多人的注意,究其原因,一方面是它还没有被广泛的支...

最快清除数组空值?分享 1 段优质 JS 代码片段!

本内容首发于工粽号:程序员大澈,每日分享一段优质代码片段,欢迎关注和投稿!大家好,我是大澈!本文约 600+ 字,整篇阅读约需 1 分钟。今天分享一段优质 JS 代码片段,用最简洁的代码清除了数组中的...