项目主题

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 小时前
Spring Boot中的拦截器!
java·spring boot·后端
菲兹园长2 小时前
SpringBoot统一功能处理
java·spring boot·后端
muxue1783 小时前
go语言封装、继承与多态:
开发语言·后端·golang
开心码农1号3 小时前
Go语言中 源文件开头的 // +build 注释的用法
开发语言·后端·golang
北极象3 小时前
Go主要里程碑版本及其新增特性
开发语言·后端·golang
lyrhhhhhhhh3 小时前
Spring框架(1)
java·后端·spring
喝养乐多长不高5 小时前
Spring Web MVC基础理论和使用
java·前端·后端·spring·mvc·springmvc
莫轻言舞5 小时前
SpringBoot整合PDF导出功能
spring boot·后端·pdf
玄武后端技术栈6 小时前
什么是死信队列?死信队列是如何导致的?
后端·rabbitmq·死信队列
老兵发新帖7 小时前
NestJS 框架深度解析
后端·node.js