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

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

基本信息

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

项目截图:

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

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

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

相关文章

2024前端面试真题之—VUE篇(前端面试题vuex)

添加图片注释,不超过 140 字(可选)1.vue的生命周期有哪些及每个生命周期做了什么? beforeCreate是new Vue()之后触发的第一个钩子,在当前阶段data、methods、com...

Vue父子组件参数传递方法(vue父子组件传参方式)

在 Vue 中,父子组件之间的参数传递是常见的需求,主要通过 Props 和 自定义事件 实现。以下是详细说明和代码示例:一、父组件向子组件传递参数(Props)父组件通过 属性 向子组件传递数据,子...

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

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

jenkins+gitlab 实现自动化部署(gitlab触发jenkins)

目录1、安装jdk,要记住安装路径2、安装maven,要记住安装路径3、安装git,要记住安装路径4、安装gitlab5、安装jenkins(centos7)创建安装目录下载通用war包启动和关闭Je...

UEPlus for HTML5摩尔线程S50 GPU+统信UOS+海光CPU测试

UEPlus for HTML5案例测试。今天给大家带来UEPlus for HTML5的案例测试效果展示。测试环境由客户提供,处理器是海光3250,显卡是摩尔线程S50,8G显存。操作系统是统信V2...

如何使用HTML5实现多个元素的拖放功能

通过使用HTML5的拖放功能我们可以拖放HTML页面元素。在上一篇文章中,我们介绍了有关于可以拖放单个元素的代码。在接下来的这篇文章中,我们将来介绍关于允许拖放多个元素的代码。话不多说,我们直接看示例...