项目主题

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模块:

  • 作为项目的入口模块
  • 整合了其他所有模块
相关推荐
paopaokaka_luck31 分钟前
基于SpringBoot+Uniapp的健身饮食小程序(协同过滤算法、地图组件)
前端·javascript·vue.js·spring boot·后端·小程序·uni-app
Villiam_AY35 分钟前
Redis 缓存机制详解:原理、问题与最佳实践
开发语言·redis·后端
魔尔助理顾问4 小时前
系统整理Python的循环语句和常用方法
开发语言·后端·python
程序视点4 小时前
Java BigDecimal详解:小数精确计算、使用方法与常见问题解决方案
java·后端
你的人类朋友4 小时前
❤️‍🔥微服务的拆分策略
后端·微服务·架构
AI小智6 小时前
后端变全栈,终于可以给大家推出我的LangChain学习小站了!
后端
lkf197116 小时前
商品中心—1.B端建品和C端缓存
开发语言·后端·缓存
我的ID配享太庙呀7 小时前
Django 科普介绍:从入门到了解其核心魅力
数据库·后端·python·mysql·django·sqlite
java叶新东老师7 小时前
goland编写go语言导入自定义包出现: package xxx is not in GOROOT (/xxx/xxx) 的解决方案
开发语言·后端·golang
码事漫谈9 小时前
C++模板元编程从入门到精通
后端