从0到1,完整搭建Springboot开源博客项目eblog!

22,964 阅读3分钟

公众号:MarkerHub(关注获取更多项目资源)

eblog 代码仓库:github.com/markerhub/e…

eblog 项目视频: www.bilibili.com/video/BV1ri…


开发文档目录:

(eblog)1、项目架构搭建、首页页面初始化

(eblog)2、整合Redis,以及项目优雅的异常处理与返回结果封装

(eblog)3、用Redis的zset有序集合实现一个本周热议功能

(eblog)4、自定义 Freemaker 标签实现博客首页数据填充

(eblog)5、博客分类填充、登录注册逻辑

(eblog)6、博客发布收藏、用户中心的设置

(eblog)7、消息异步通知、细节调整

(eblog)8、博客搜索引擎开发、后台精选

(eblog)9、即时群聊开发,聊天记录等


前后端分离项目vueblog请点击这里:超详细!4小时开发一个SpringBoot+vue前后端分离博客项目!!


基本信息

项目名称: 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。所以要提前安装好哈。不懂安装的可以持续关注我的公众号【MarkerHub】,后续我会陆续补充完整。

如何交流、反馈?

  • Git 仓库:github.com/markerhub/e…

  • 如需关注项目最新动态,请 Watch、Star 项目,同时也是对项目最好的支持

项目截图:

最后

好了,介绍完基本信息,后面会陆续把完整的搭建项目过程发出来,记得星标公众号哈,第一时间接收学习!别忘了给我的项目一个 star!感谢至极!

代码仓库:github.com/markerhub/e…

项目视频:www.bilibili.com/video/BV1ri…

(完)

MarkerHub 文章索引:

github.com/MarkerHub/J…