# webcommon
**Repository Path**: goddesszz/webcommon
## Basic Information
- **Project Name**: webcommon
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-12-04
- **Last Updated**: 2026-10-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Webcommon
### 介绍
Webcommon 是一个基于 Spring Boot 3.x 的通用工具组件库,专为 Java 17+ 环境设计。
该组件库封装了 Web 开发中常用的工具类和功能模块,旨在提高开发效率,减少重复代码,提供统一的解决方案。
具体主要依赖现成的第三方组件,而非自己造轮子。
### 依赖介绍
- Spring Boot 4.x
- Spring Data Redis(强依赖于Redis,没有redis,应用会启动失败)
- mycommon 自定义的工具包
- MyBatis-plus
- Spring Data JPA
### 主要特性
- 🚀 **开箱即用**:基于 Spring Boot 自动配置,零配置启动
- 🔧 **功能丰富**:涵盖权限控制、日志记录、异常处理、文件上传等核心功能
- 🛡️ **安全可靠**:内置幂等性校验、参数签名验证等安全机制
- 🌍 **国际化支持**:完善的多语言消息处理
- 📦 **模块化设计**:各功能模块独立可选,按需引入
### 功能模块
#### 🔐 权限认证模块
- 用户登录信息自动填充
- 请求权限白名单管理
- Feign 请求头用户信息透传
#### 📝 日志记录模块
- 访问日志自动记录
- 操作日志切面处理
- 访问监控过滤器
#### 🌐 Web请求处理模块
- 接口响应数据封装
- 全局异常处理器
- 统一错误码管理
- 查询参数处理
- 请求参数校验
#### 🔒 安全防护模块
- 幂等性校验
- 参数签名验证
- 数据隐私脱敏
#### 📤 文件处理模块
- MinIO 对象存储集成
- 文件上传下载
- 头像生成工具
#### 🔄 数据处理模块
- 数据观察者模式
- Redis 缓存工具
- 实体审计功能
#### 🛠️ 工具组件
- 参数校验约束
- 数据拷贝工具
- ZIP 压缩工具
- I18n消息工具类
- Redis缓存封装工具
### 环境要求
- Java 17+
- Spring Boot 3.4.6+
- Maven 3.9+
### Maven 依赖
在您的 `pom.xml` 中添加以下依赖:
```xml
io.gitee.goddesszz
webcommon
3.0.0
```
### 使用方式
#### 1. 基础配置
在您的 Spring Boot 启动类上添加 `@SpringBootApplication` 注解:
```java
@SpringBootApplication
public class YourApplication {
public static void main(String[] args) {
SpringApplication.run(YourApplication.class, args);
System.err.printf("application startup success... [server.port=%s, spring.profiles.active=%s]%n", SpringContextHolder.getProperty("server.port"), SpringContextHolder.getProperty("spring.profiles.active"));
}
}
```
#### 2. 启用特定功能
##### 启用 MinIO 文件上传功能
```java
@SpringBootApplication
@EnableMinioClient
public class YourApplication {
// ...
}
```
##### 启用 MyBatis 审计功能
```java
@SpringBootApplication
@EnableMybatisAudit
public class YourApplication {
// ...
}
```
#### 3. 核心功能使用示例
##### 异常处理
```java
@RestController
public class DemoController {
@GetMapping("/test")
public ApiResult test() {
throw new ServiceException(BizError.DEFAULT_ERROR);
}
}
```
##### 访问日志记录
```java
@RestController
public class DemoController {
@AccessLog("用户查询操作")
@GetMapping("/users")
public ApiResult> getUsers() {
// 业务逻辑
return success(userService.findAll());
}
}
```
### 贡献指南
欢迎提交 Issue 和 Pull Request 来帮助改进这个项目。
### 开源协议
本项目采用 MIT 协议开源。
### 联系方式
- 作者:goddesszz
- 邮箱:1406103364@qq.com
- Gitee:https://gitee.com/goddesszz/webcommon