# 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开源企业级多人博客社区

[![Author](https://img.shields.io/badge/author-jacklin-green.svg?style=flat-square)](http://lbz-layblog.site) [![Docker](https://img.shields.io/docker/automated/langhsu/mblog.svg?style=flat-square)](https://hub.docker.com/r/langhsu/mblog) [![Spring Boot](https://img.shields.io/badge/Spring%20Boot-2.6.3-orange)]() [![MySQL](https://img.shields.io/badge/MySQL-5.7.6-red)]() [![Redis](https://img.shields.io/badge/Redis-6.0.6-green)]() ## 🌈项目介绍 `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) ## 系统架构 ![系统架构图](https://images.gitee.com/uploads/images/2020/0306/172221_c36214ea_2221510.jpeg "Layblog多人博客系统架构图 (2).jpg") ## Layblog核心功能 ![Layblog核心技术选择和功能设计](doc/layblog%E6%8A%80%E6%9C%AF%E9%80%89%E5%9E%8B%E5%92%8C%E5%8A%9F%E8%83%BD%E8%AE%BE%E8%AE%A1.jpeg) ## MySQL与ES数据同步 ![输入图片说明](src/main/resources/MySQL%E4%B8%8EES%E6%95%B0%E6%8D%AE%E5%90%8C%E6%AD%A5.png) ## 系统流程图 ![layblog流程图](doc/Layblog%E7%B3%BB%E7%BB%9F%E6%B5%81%E7%A8%8B%E5%9B%BE.png) ### 博客首页 ![Layblog首页](doc/Layblog%E9%A6%96%E9%A1%B5.png) ### 个人中心 ![个人中心](doc/%E7%94%A8%E6%88%B7%E4%B8%BB%E9%A1%B5.png) ### 博客详情 ![博客详情](doc/%E5%8D%9A%E5%AE%A2%E8%AF%A6%E6%83%85.png) ### 消息管理 ![我的消息](doc/%E6%88%91%E7%9A%84%E6%B6%88%E6%81%AF.png) ### 设置中心 ![个人设置](doc/%E5%9F%BA%E6%9C%AC%E8%AE%BE%E7%BD%AE.png) ### 我发的帖 ![我发的帖](doc/%E6%88%91%E5%8F%91%E7%9A%84%E8%B4%B4.png) ### 我收藏的帖 ![我收藏的帖](doc/%E6%88%91%E6%94%B6%E8%97%8F%E7%9A%84%E8%B4%B4.png) ### 注册 ![注册](doc/Layblog%E6%B3%A8%E5%86%8C.png) ### 登录 ![登录](doc/Layblog%E7%99%BB%E5%BD%95.png)