项目主题

WeBlog项目结构分析

这是一个基于Spring Boot的博客系统项目,采用了模块化的架构设计。项目分为四个主要模块,每个模块有其特定的职责:

项目整体结构

  • weblog-springboot :项目根目录,包含了整体的Maven配置和模块管理
    • 使用Spring Boot 2.6.3版本
    • 采用Java 1.8版本
    • 统一管理了各个依赖的版本

核心模块

1. weblog-module-common(通用模块)

作为基础模块,被其他模块依赖,包含:

  • domain/dos :数据对象,如ArticleDO、UserDO等,对应数据库表结构
  • domain/mapper :MyBatis数据访问接口
  • aspect :AOP切面,用于日志记录等横切关注点
  • config :配置类,包括MyBatis-Plus、事件总线等配置
  • exception :全局异常处理
  • utils :工具类
  • Response/PageResponse :统一响应对象

2. weblog-module-admin(管理模块)

负责博客后台管理功能:

  • controller :管理接口控制器,如文章、分类、标签管理
  • service :业务逻辑层
  • dao :数据访问层
  • config :安全配置、Minio配置等
  • model/vo :视图对象模型

3. weblog-module-jwt(JWT认证模块)

处理用户认证和授权:

  • JwtTokenHelper :JWT令牌生成和验证
  • 认证过滤器 :登录认证、Token验证
  • 处理器 :认证成功/失败处理

4. weblog-web(入口模块)

作为应用程序入口,整合其他模块:

  • WeblogWebApplication :应用程序启动类
  • controller :前台展示接口
  • service :前台业务逻辑
  • config :跨域配置等
  • resources :配置文件
    • application.yaml:主配置文件
    • application-dev.yaml:开发环境配置
    • application-prod.yaml:生产环境配置

技术栈

  • Spring Boot :应用框架
  • Spring Security :安全框架
  • MyBatis-Plus :ORM框架
  • JWT :用户认证
  • Minio :对象存储(图片上传)
  • MySQL :数据库
  • Lombok :简化代码

1. weblog-module-common模块:

  • 这是基础模块,包含了Response和PageResponse等基础响应类
  • 包含了aspect、config、constant等通用配置和工具类

创建Spring Boot的多模块项目

如何创建SpringBoot多模块_springboot多模块项目搭建-CSDN博客

项目目录如下:

2. weblog-module-jwt模块:

  • 负责用户认证相关功能
  • 集成了Spring Security和JWT实现安全认证

3. weblog-module-admin模块(核心业务模块):

  • controller层:如AdminArticleController,实现文章的发布、修改、查询等接口
  • service层:如AdminArticleService,包含了核心业务逻辑
  • 包含了文章管理、分类管理等主要功能

4. weblog-web模块:

  • 作为项目的入口模块
  • 整合了其他所有模块
相关推荐
喵个咪2 小时前
初学者入门:用 go-kratos-admin + protoc-gen-typescript-http 快速搭建企业级 Admin 系统
后端·typescript·go
用户21411832636023 小时前
手把手教你用Claude制作专属PPT生成器-从模板学习到自动生成全流程实战
后端
计算机毕设匠心工作室5 小时前
【python大数据毕设实战】全面皮肤病症状数据可视化分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习、实战教学
后端·python·mysql
摆烂工程师5 小时前
2025年12月最新的 Google AI One Pro 1年会员教育认证通关指南
前端·后端·ai编程
qq_12498707535 小时前
基于SpringBoot+vue的小黄蜂外卖平台(源码+论文+部署+安装)
java·开发语言·vue.js·spring boot·后端·mysql·毕业设计
代码与野兽6 小时前
AI交易,怎么让LLM自己挑选数据源?
前端·javascript·后端
天天摸鱼的java工程师6 小时前
JDK 25 到底更新了什么?这篇全景式解读带你全面掌握
java·后端
非鱼feiyu6 小时前
自关联数据表查询优化实践:以 Django + 递归 CTE 构建树结构为例
数据库·后端·django
零日失眠者6 小时前
这5个Python库一旦掌握就离不开
后端·python
幌才_loong6 小时前
.NET8 × Redis 实战宝典:从配置到落地,搞定高并发缓存就这篇!
后端·.net