3.9 KiB
3.9 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
常用命令
构建和运行
# 编译整个项目
mvn clean compile
# 打包项目
mvn clean package
# 运行应用程序
cd coder-common-thin-web
mvn spring-boot:run
# 或者运行打包后的jar
java -jar coder-common-thin-web/target/coder-common-thin-web-1.0.0.jar
测试
# 运行所有测试
mvn test
# 运行单个模块测试
mvn test -pl coder-common-thin-web
数据库
# 数据库初始化SQL位于
# sql/coder-common-thin.sql
项目架构概览
这是一个基于Spring Boot 3.5.0的多模块企业级开发框架,采用插件化架构设计。
模块结构
- coder-common-thin-web: Web启动模块,应用程序入口点
- coder-common-thin-common: 公共工具模块,包含大量工具类、配置类和拦截器
- coder-common-thin-model: 数据模型模块,包含POJO、BO、VO和数据验证
- coder-common-thin-mybatisplus: 数据访问层模块,MyBatis Plus配置和Mapper
- coder-common-thin-modules: 业务模块容器
- coder-common-thin-plugins: 插件模块,包含各种功能插件
插件化架构
项目采用@Enable注解实现功能模块的可插拔配置:
@EnableCoderSaToken: Sa-Token认证插件@EnableCoderEasyExcel: Excel处理插件@EnableCoderLimit: 限流插件@EnableCoderRepeatSubmit: 防重提交插件@EnableCoderDesensitize: 数据脱敏插件
技术栈
- 核心框架: Spring Boot 3.5.0 + Java 17
- 数据库: MySQL 9.3.0 + MyBatis Plus 3.5.12
- 缓存: Redis(Spring Data Redis)
- 安全认证: Sa-Token 1.43.0
- 工具库: Hutool 5.8.38, Fastjson2 2.0.57, Guava 33.4.8
- 业务功能: EasyExcel 4.0.3, Easy-Captcha 1.6.2
数据层设计
- 主键策略: 雪花算法(ASSIGN_ID)
- 逻辑删除: 0-已删除, 1-未删除
- 多数据源: 支持master/slave数据源动态切换
- SQL监控: 集成P6spy进行SQL性能监控
配置文件
- 主配置:
application.yml - 环境配置:
application-dev.yml - 数据库配置: 支持MySQL主从配置
- Redis配置: 使用Jackson2序列化,支持连接池
开发指南
添加新功能插件
- 在
coder-common-thin-plugins下创建新模块 - 创建@Enable注解用于启用插件
- 实现必要的配置类和工具类
- 在主启动类上使用@Enable注解启用
数据访问层开发
- 实体类放在
coder-common-thin-model/domain/pojo - Mapper接口放在
coder-common-thin-mybatisplus/mapper - XML映射文件放在
resources/mapper - 使用
@DS("dataSourceName")注解切换数据源
工具类使用
项目提供了丰富的工具类,位于coder-common-thin-common/utils:
- 缓存工具:
RedisUtil,LocalCacheUtil - 日期工具:
DateUtil,CalendarUtil - 文件工具:
FileUtil,UploadUtil,ZipUtil - 字符串工具:
StringUtil,ConvertUtil - IP工具:
IpUtil,IpAddressUtil - JSON工具:
JsonUtil - 加密工具:
MD5Util,CoderPasswordUtil
配置说明
- 端口: 默认18099,可通过
port环境变量覆盖 - 文件路径: 在
application-dev.yml中配置coder.filePath - 数据库连接: 在
application-dev.yml中配置数据源信息 - Redis配置: 在
application-dev.yml中配置Redis连接信息
日志配置
- 日志文件:
logback-spring.xml - 日志级别: 可通过环境变量调整
- 操作日志: 自动记录,支持异步处理和定时清理
注意事项
- 项目基于Java 17,确保开发环境版本匹配
- 使用中文注释,保持代码风格一致
- 新增功能遵循插件化设计模式
- 数据库操作优先使用MyBatis Plus提供的方法
- 安全认证统一使用Sa-Token,避免重复造轮子
- 工具类使用前先检查是否已有现成实现