# component **Repository Path**: yestic/component ## Basic Information - **Project Name**: component - **Description**: 组件化开发快速脚手架 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-29 - **Last Updated**: 2025-07-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Component Common ## 介绍 `component-common` 是一个为其他组件提供基础功能的模块,它包含了通用的注解、断言、模型、控制器、工具类以及拦截器等。这个模块的设计目的是简化其他组件的开发过程,并提供一套统一的 API 响应格式。 ## 特性 - **通用模型**: 提供了基础模型类,支持使用 MyBatis Plus 进行数据库操作。 - **控制器抽象**: 提供了基本的 REST 控制器实现,包括创建、删除、更新、查询等操作。 - **断言工具**: 类似于 Spring 的 `Assert` 类,提供了丰富的断言方法。 - **响应封装**: 提供统一的 HTTP 响应包装类 `HttpBasicResponse`。 - **敏感字段处理**: 支持通过注解来标记敏感字段,并结合 Jackson 实现序列化时的动态脱敏。 - **拦截器支持**: 包括分页拦截器和敏感字段上下文拦截器。 - **工具类**: 提供了多种工具类,如 JSON 处理、HTTP 请求、Redis 操作、文件操作、ORM 辅助等。 ## 模块 ### 注解 - `@Log`: 用于标记需要日志记录的方法或类型。 - `@Module`: 用于将方法或类型与特定模块关联。 - `@ResponseAdvice`: 用于统一处理响应体。 - `@SensitiveField`: 用于标记敏感字段,支持在序列化时脱敏。 ### 工具类 - `AssertUtil`: 提供丰富的断言方法。 - `JsonUtil`: 使用 Jackson 进行 JSON 序列化和反序列化。 - `OkHttpUtil`: 基于 OkHttp 的 HTTP 客户端工具。 - `JdkHttpUtil`: 使用 JDK 自带的 HttpClient。 - `RedisUtil`: 提供 Redis 操作的静态方法。 - `OrmUtil`: 用于 ORM 操作的辅助方法。 - `FileUtil`: 文件处理工具。 - `ApprenticeUtil`: 包括字符串格式转换和查询构建工具。 - `CaffeineUtil`: 提供 Caffeine 缓存工具。 ### 基础类 - `BasicModel`: 所有模型的基类,提供基本的 CRUD 预处理方法。 - `BasicAutoIdModel`: 使用自动递增 ID 的模型。 - `BasicSnowflakeIdModel`: 使用雪花算法生成 ID 的模型。 - `BasicUuidModel`: 使用 UUID 作为 ID 的模型。 - `BasicRepository`: MyBatis Plus 的基础 Mapper。 - `BasicService`: 提供事务管理的 CRUD 服务。 - `BasicController`: 提供基础的 REST API 控制器。 ### 枚举 - `ExceptionEnum`: 定义异常枚举。 - `JudgeMode`: 判断模式枚举。 - `LogType`: 日志类型枚举。 - `Operate`: 操作类型枚举。 - `OverflowType`: 溢出类型枚举。 - `SensitiveType`: 敏感字段类型枚举。 ### 拦截器 - `BasicPagePaginationInnerInterceptor`: 处理分页逻辑的拦截器。 - `DynamicSensitiveContextInterceptor`: 动态敏感字段上下文拦截器。 ## 使用 要使用本模块,只需将其作为依赖引入您的项目中,并利用其中的类和工具来简化开发。 ## 异常处理 - `ComponentException`: 继承自 `RuntimeException`,用于封装组件内部异常。 - `IgnoreException`: 继承自 `Exception`,用于表示需要忽略的异常。 ## 许可证 本项目遵循 Apache 2.0 协议。有关详细信息,请参阅 [LICENSE](LICENSE) 文件。