# Layblog
**Repository Path**: uidoer/layblog
## Basic Information
- **Project Name**: Layblog
- **Description**: Layblog开源企业级多人博客社区
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://gitee.com/TianSheng123/layblog
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2026-04-02
- **Last Updated**: 2026-04-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Layblog开源企业级多人博客社区
[](http://lbz-layblog.site)
[](https://hub.docker.com/r/langhsu/mblog)
[]()
[]()
[]()
## 🌈项目介绍
`Layblog`开源企业级多人博客社区是一套前后端不分离的博客项目,基于目前主流的Java技术:`SpringBoot`+`Mybatis Plus`+`Redis`+`Maven`+`Shiro`+`RabbitMQ`+`ElasticSearch`+`Docker`技术栈实现,社区功能涵盖:帖子、评论、系统通知、t-io即时通讯、layim聊天、文章置頂精选、搜索、关注、文章收藏、本周热点数据、用户设置、每日签到统计等模块功能。
### 项目部署访问地址:[http://lbz-layblog.site/](http://lbz-layblog.site/) (服务器最近到期了...)
## 🔥技术选型
- 主框架:Spring Boot
- 工具:JDK 1.8、IDEA、Maven、Lombok
- 容器镜像:Docker
- 数据库:MySQL 5.7
- 持久层:MyBatis Plus
- 视图模板:FreeMarker
- 缓存数据库:Redis
- 消息通知:WebSocket
- 定时任务:Spring Task
- 安全框架:Shiro
- 搜索引擎:ElasticSearch 6.4.3
- 消息队列:RabbitMq
- 即时通讯:t-io、layim
## 🎈项目技术说明
- 基于`Mybatis Plus`快速代码生成
- 封装与自定义`Freemarker`标签
- `Redis`的`zSet`有序集合数据结构完成本周热议排行榜
- `t-io+websocket`完成即时消息通知和群聊
- 基于`RabbitMq`+`Elasticsearch`的内容同步与搜索引擎
## ✔项目结构:
```
layblog
└─src
└─main
├─java
│ └─com
│ └─layblog
│ │ LayCodeGenerator.java #代码生成
│ │ LayblogApplication.java #启动类
│ │
│ ├─common
│ │ ├─exception
│ │ │ LayCustomException.java #自定义异常
│ │ │ LayExceptionHandler.java #全局异常处理
│ │ │
│ │ ├─lang
│ │ │ LayCacheConstant.java #缓存常量类
│ │ │ LayConstant.java #全局常量类
│ │ │ Result.java #响应结果
│ │ │
│ │ └─template
│ │ DirectiveHandler.java #DirectiveHandler把TemplateDirectiveModel方法下的execute()方法的参数封装一遍
│ │ TemplateDirective.java #实现Freemarker自定义标签的主要接口
│ │ TemplateModelUtils.java #Freemarker模型工具类
│ │
│ ├─config #项目配置整合
│ │ AsyncConfig.java
│ │ ContextStartup.java
│ │ FreemarkerConfig.java
│ │ ModelMapperConfig.java
│ │ MybatisConfig.java
│ │ RabbitMqConfig.java
│ │ RedisConfig.java
│ │ ShiroConfig.java
│ │ WebMvcConfig.java
│ │ WebSocketConfig.java
│ │
│ ├─controller #控制层
│ │ AdminController.java
│ │ BaseController.java
│ │ CenterController.java
│ │ CommentController.java
│ │ IndexController.java
│ │ PostController.java
│ │ UserCollectionController.java
│ │ UserController.java
│ │ UserMessageController.java
│ │ UserSignController.java
│ │
│ ├─entity #实体层
│ │ BaseEntity.java
│ │ Category.java
│ │ Comment.java
│ │ Post.java
│ │ User.java
│ │ UserAction.java
│ │ UserCollection.java
│ │ UserMessage.java
│ │ UserSign.java
│ │
│ ├─es #ElasticSearch内容搜索引擎
│ │ └─search
│ │ ├─common
│ │ │ │ LayPostIndexKey.java #文章索引名称,支持按文章标题、作者、分类名称、内容、标签搜索
│ │ │ │
│ │ │ └─mq #RabbitMQ消息中间件
│ │ │ LayMqMessageHandler.java #MQ消息处理器
│ │ │ LayPostMqIndexMessage.java #用于服务之间消息通讯模板
│ │ │
│ │ ├─model
│ │ │ LayPostDocument.java #es文档实体
│ │ │
│ │ └─repository
│ │ LayPostRepository.java
│ │
│ ├─mapper
│ │ CategoryMapper.java
│ │ CommentMapper.java
│ │ PostMapper.java
│ │ UserActionMapper.java
│ │ UserCollectionMapper.java
│ │ UserMapper.java
│ │ UserMessageMapper.java
│ │ UserSignMapper.java
│ │
│ ├─schedules #定时任务
│ │ LayScheduledTasks.java
│ │
│ ├─service #业务逻辑层
│ │ │ CategoryService.java
│ │ │ CommentService.java
│ │ │ ElasticSearchService.java
│ │ │ PostService.java
│ │ │ UserActionService.java
│ │ │ UserCollectionService.java
│ │ │ UserMessageService.java
│ │ │ UserService.java
│ │ │ UserSignService.java
│ │ │ WsService.java
│ │ │
│ │ └─impl #业务逻辑实现层
│ │ CategoryServiceImpl.java
│ │ CommentServiceImpl.java
│ │ ElasticSearchServiceImpl.java
│ │ PostServiceImpl.java
│ │ UserActionServiceImpl.java
│ │ UserCollectionServiceImpl.java
│ │ UserMessageServiceImpl.java
│ │ UserServiceImpl.java
│ │ UserSignServiceImpl.java
│ │ WsServiceImpl.java
│ │
│ ├─shiro #shiro整合
│ │ AccountProfile.java
│ │ AccountRealm.java
│ │ LoginFilter.java #异步请求登录过滤器
│ │
│ ├─templates #Freemarker模板标签
│ │ HotsTemplate.java #本周热议模板
│ │ PostsTemplate.java #文章列表内容模板
│ │ UsersTemplate.java #用户连续签到天数和当天是否已签到模板
│ │
│ ├─utils #工具类
│ │ DateUtils.java
│ │ oConvertUtils.java
│ │ RedisUtil.java
│ │
│ └─vo
│ CategoryVO.java
│ CommentVO.java
│ MessageVO.java
│ PostVO.java
│ UserVO.java
│
└─resources
│ application-dev.yml
│ application-docker.yml
│ application-local.yml
│ application.yml
│
├─mapper
│ CategoryMapper.xml
│ CommentMapper.xml
│ PostMapper.xml
│ UserActionMapper.xml
│ UserCollectionMapper.xml
│ UserMapper.xml
│ UserMessageMapper.xml
│ UserSignMapper.xml
│
├─META-INF
│ spring-devtools.properties
└─templates #前端页面ftl静态模板
│ error.ftl
│ index.ftl
│ search.ftl
│
├─auth
│ login.ftl
│ register.ftl
│
├─center
│ collection.ftl
│ index.ftl
│ message.ftl
│ setting.ftl
│
├─inc
│ common.ftl
│ footer.ftl
│ header-panel.ftl
│ header.ftl
│ layout.ftl
│ right.ftl
│
├─post
│ category.ftl
│ edit.ftl
│ view.ftl
│
└─user
home.ftl
```
## 相关文档教学
- [Layblog整合Elasticsearch实现站内文章搜索](https://juejin.cn/post/7130312963436576775)
- [Docker部署企业级博客系统Layblog](https://juejin.cn/post/7100223239888044046)
## 系统架构
.jpg")
## Layblog核心功能

## MySQL与ES数据同步

## 系统流程图

### 博客首页

### 个人中心

### 博客详情

### 消息管理

### 设置中心

### 我发的帖

### 我收藏的帖

### 注册

### 登录
