# metool **Repository Path**: lionelk/metool ## Basic Information - **Project Name**: metool - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-08-13 - **Last Updated**: 2025-11-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # METool 项目文档 ## 项目概述 METool 是一个综合性的工具集项目,包含多个功能模块,旨在为开发者提供便捷的开发工具和基础架构支持。项目采用模块化设计,包含以下核心模块: 1. **common** - 通用工具和基础类库 2. **cache** - 缓存管理模块(支持Redis和Redisson) 3. **crypto-shield-spring-boot-starter** - 加密安全模块 4. **validator** - 数据验证模块 5. **id-generator** - ID生成模块 6. **aliyun-ons-spring-boot-starter** - 阿里云消息队列集成模块 ## 模块功能 ### common 模块 - 提供通用异常处理框架 - 包含基础结果返回对象 - 提供树形结构构建工具 - 包含元组工具类 - Spring工具类扩展 ### cache 模块 - 提供Redis和Redisson的集成支持 - 实现了丰富的缓存操作接口 - 支持分布式锁 - 提供智能缓存管理 ### crypto-shield-spring-boot-starter 模块 - 提供全面的数据加密解决方案 - 支持RSA、AES和混合加密模式 - 实现请求/响应自动加解密 - 支持数字签名验证 - 提供Web层集成支持 ### validator 模块 - 基于Bean Validation规范的验证工具 - 提供便捷的数据验证接口 ### id-generator 模块 - 提供分布式ID生成服务 - 支持多种ID生成策略 - 实现ID序列化/反序列化 ### aliyun-ons-spring-boot-starter 模块 - 阿里云ONS消息队列集成 - 支持消息发送和消费 - 提供类型化消息支持 - 实现消息序列化/反序列化 - 支持消息监听器 ## 快速开始 ### 项目构建 使用Maven进行项目构建: ```bash mvn clean install ``` ### 模块依赖 根据需要在您的项目pom.xml中添加对应模块的依赖: ```xml cc.coderm me-tool-common ${project.version} ``` ## 使用示例 ### 使用ID生成器 ```java // 初始化ID生成器(通常在应用启动时调用一次) IdUtil.initializeIdGenerator(); // 生成新ID long newId = IdUtil.nextId(); // 生成字符串格式的ID String newIdStr = IdUtil.nextIdStr(); ``` ### 使用缓存模块 ```java // 存储数据到缓存 redisService.setValue("user:1001", user); // 从缓存获取数据 User user = (User) redisService.getValue("user:1001"); // 使用分布式锁 RLock lock = redissonService.lock("user:lock:1001"); try { // 执行需要加锁的业务逻辑 } finally { redissonService.unlock("user:lock:1001"); } ``` ### 使用加密模块 ```java // 在Spring Boot应用中启用加密功能 @EnableCryptoSecurity @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } } // 在Controller中使用加密注解 @RestController @RequestMapping("/api") public class MyController { @PostMapping("/secure") @CryptoSecure(mode = CryptoMode.HYBRID) public Map secureData(@RequestBody Map data) { return Collections.singletonMap("response", "sensitiveData"); } } ``` ### 使用消息队列 ```java // 发送消息 @Autowired private OnsTemplate onsTemplate; public void sendMessage() { SendResult result = onsTemplate.sendMessage("TOPIC_TEST", "TAG_A", "Hello ONS".getBytes()); System.out.println("Message sent: " + result); } // 消费消息 @Component @OnsMessageListener(topic = "TOPIC_TEST", tag = "TAG_A") public class MyMessageListener implements MessageListener { @Override public Action consume(Message message, ConsumeContext context) { System.out.println("Received message: " + new String(message.getBody())); return Action.CommitMessage; } } ``` ## 开发指南 1. 根据项目需求选择需要的模块进行集成 2. 在Spring Boot应用的配置文件中添加对应模块的配置 3. 通过依赖注入使用对应的服务组件 4. 对于加密模块,需要根据安全需求配置加密算法和密钥 5. 对于消息队列模块,需要配置ONS的访问凭证和消息主题 ## 贡献指南 欢迎贡献代码和文档,贡献前请先阅读项目贡献指南并遵循以下规范: 1. 提交代码前请确保通过所有测试 2. 保持代码风格一致 3. 提供详细的提交说明 4. 对于重大变更,请先提交Issue讨论 ## 许可证 本项目采用Apache-2.0许可证,详细请参阅LICENSE文件。