https://github.com/markerhub/eblog
eblog是一个基于Springboot2.1.2开发的博客学习项目,为了让项目融合更多的知识点,达到学习目的,编写了详细的从0到1开发文档。主要学习包括:自定义Freemarker标签,redis的zset结构完成本周热议排行榜,t-io+websocket完成即时消息通知和群聊,rabbitmq+elasticsearch完成博客内容搜索引擎等。值得学习的地方很多!
https://github.com/markerhub/eblog
Last synced: about 1 year ago
JSON representation
eblog是一个基于Springboot2.1.2开发的博客学习项目,为了让项目融合更多的知识点,达到学习目的,编写了详细的从0到1开发文档。主要学习包括:自定义Freemarker标签,redis的zset结构完成本周热议排行榜,t-io+websocket完成即时消息通知和群聊,rabbitmq+elasticsearch完成博客内容搜索引擎等。值得学习的地方很多!
- Host: GitHub
- URL: https://github.com/markerhub/eblog
- Owner: MarkerHub
- License: mit
- Created: 2020-03-10T08:26:07.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-05-16T17:14:53.000Z (about 2 years ago)
- Last Synced: 2025-05-16T04:03:59.981Z (about 1 year ago)
- Language: JavaScript
- Homepage: https://juejin.im/post/5ee88c58518825434c3db0e5
- Size: 1.08 MB
- Stars: 1,161
- Watchers: 52
- Forks: 396
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#### 项目说明:
本博客是学习过程中搭建的项目,为了融合更多知识点,让博客看起来更加高大上,使用了多个框架组合,有些也是企业级项目中常用的解决方式。不够说实话,还有挺多内容缺少的,比如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标签
* redis的zset结构完成本周热议排行榜
* t-io+websocket完成即时消息通知和群聊
* 基于rabbitmq+elasticsearch的内容同步与搜索引擎
#### 项目部署:
项目中我们用到了几个中间件,mysql、rabbitmq、elasticsearch。
注意的是,即时群聊功能,一定要再`src/main/resources/static/res/js/im.js`中修改成自己服务器的ip地址,才能连上哈!
数据库sql文件:[eblog.sql](https://github.com/MarkerHub/eblog/blob/master/eblog.sql),和pom同一级目录哈
#### 视频教学:
[20分钟学会Docker部署SpringBoot项目(eblog)](https://www.bilibili.com/video/BV1dk4y1r7pi)
[Java实战项目,使用SpringBoot+Mybatis Plus+shiro+Es+Rabbitmq开发一个博客系统eblog](https://www.bilibili.com/video/BV1ri4y1x71A)
#### 如何交流、反馈?
* 详细开发文档:https://juejin.im/post/5ee88c58518825434c3db0e5
* Git仓库:[https://github.com/MarkerHub/eblog](https://github.com/MarkerHub/eblog)
* 官方微信:**java-mindman3**
* 技术讨论、问题和建议,请移步到公众号【MarkerHub】菜单栏留言区,我会在第一时间进行解答和回复!
* 如需关注项目最新动态,请Watch、Star项目,同时也是对项目最好的支持
* 官方公众号:**MarkerHub**
* 更多项目阅读:[Github上最值得学习的100个Java开源项目,涵盖各种技术栈!](https://mp.weixin.qq.com/s/YPo4HqU4eidSv7O3TTYNCw)

#### 项目演示:
演示地址:[http://www.markerhub.com:8082/](http://www.markerhub.com:8082/)
账号密码:自行注册~
#### 项目截图:




