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

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

ruisui883个月前 (02-05)技术分析22

基本信息

项目名称: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的七种组件通信方式,别再说不会组件通信了

写在前面本篇文章是全部采用的<script setup>这种组合式API写法,相对于选项式来说,组合式API这种写法更加自由,具体可以参考Vue文档对两种方式的描述。本篇文章将介绍如下七种组件通信方式:propsemitv-modelrefsprovide/injecteventBusv...

Gitlab 的使用和代码审查流程介绍

1、先简洁介绍下项目常用的信息-面板统计页面2、用户信息面板3、服务器信息4、项目信息5、重点介绍代码提交审核机制和授权合并机制开发人员推送代码的时候不能直接推送到master,否则就会报错。此时开发人员要本地新建分支然后在提交上来列出修改了哪些细节管理员可以管理这些分支合并到master6、指派合...

java调用API操作GitLab

最近需要在一个WEB项目中集成GitLab,用到了GitLab的API操作,在网上找了很久都是说直接调用GitLab的Http接口,而且API官方只有javadoc没有其它说明文档,特别记录下,以备查询。这里采用Token的认证方式,因此需要先登陆GitLab新建一个Token,创建方式如下:创建完...

抖音 Android 性能优化系列:启动优化实践

启动性能是 APP 使用体验的门面,启动过程耗时较长很可能使用户削减使用 APP 的兴趣,抖音通过对启动性能做劣化实验也验证了其对于业务指标有显著影响。抖音有数亿的日活,启动耗时几百毫秒的增长就可能带来成千上万用户的留存缩减,因此,启动性能的优化成为了抖音 Android 基础技术团队在体验优化方向...

vue v-html动态生成的html怎么加样式/事件

1、动态生成的html,样式不生效//html 布局 <view v-html="html"> {{html}} </view> //动态生成的元素 <view class="btngo" @tap="handleLink...

vue-router是如何解析query参数呢? #前端

vue-router 中的 query 解析。1. 大家好,我是龙仔。今天来分享 vue-router 是如何解析快乐参数的,因为使用 vue 路由会传 query 参数和快乐参数,所以从 vue 的角度来看如何解析传递的快乐参数。2. 基础知识大家应知道,快乐参数结构如:a、b、c、a、b、c、a...