# AiCode **Repository Path**: agen19866/ai-code ## Basic Information - **Project Name**: AiCode - **Description**: 该项目完全由AI生成,并且可用于生产的Java前后端分离的微服务架构 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-20 - **Last Updated**: 2026-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AiCode #### 介绍 该项目完全由AI生成,并且可用于生产的Java前后端分离的微服务架构 ## 一、整体要求 - 采用Maven多模块工程结构,父POM管理所有依赖版本 - Spring Boot 3.2+ + Spring Cloud 2023.x 技术栈 - JDK 21 + 虚拟线程支持 - 每个微服务可独立打包为Docker镜像 ## 二、核心基础设施模块(创建5个子模块) 1. **ky-cloud-common**: 公共工具类、异常体系、常量定义 - 包含:统一响应体Result、业务异常BusinessException、全局异常处理器 - ID生成器(Snowflake)、JSON工具、Bean转换工具 2. **ky-cloud-starter-security**: 安全认证 starter - JWT令牌生成与验证(支持RSA256) - 基于Spring Security的OAuth2资源服务器配置 - 自定义权限注解@RequirePermission、@RequireRoles - 请求日志脱敏拦截器 3. **ky-cloud-starter-db**: 数据库访问 starter - MyBatis-Plus 3.5+ 配置(支持多数据源) - 分页插件、乐观锁插件、字段自动填充 - 动态数据源切换(主从分离) - 集成ShardingSphere-JDBC分表分库示例配置 4. **ky-cloud-starter-redis**: 缓存 starter - Lettuce客户端 + 连接池配置 - @Cacheable增强(支持TTL、分布式锁) - RedisTemplate序列化配置(JSON) - 限流组件(基于Redis的令牌桶) 5. **ky-cloud-starter-web**: Web开发 starter - 全局请求/响应日志拦截器 - 跨域配置、XContent-Type-Options防护 - 请求头TraceID传递(链路追踪) - 统一日期格式化处理 ## 三、服务划分示例 创建3个业务微服务模板: - **ky-business-user**: 用户中心服务 - **ky-business-order**: 订单服务 - **ky-business-product**: 商品服务 每个服务必须包含: - 独立的bootstrap.yml(Nacos配置) - 独立的Dockerfile(多阶段构建,基于eclipse-temurin:21-jre-alpine) - 独立的logback-spring.xml(JSON日志格式) - README.md(服务说明、端口、依赖) ## 四、配置中心集成 - 集成Nacos 2.3+ 作为配置中心和服务发现 - 创建shared-all.yaml(全服务共享配置) - 创建shared-seata.yaml(分布式事务配置) - 创建shared-sentinel.yaml(限流降级配置) - 各服务自己的{nacos.namespace}/{nacos.group}/{service-name}.yaml ## 五、API网关 - Spring Cloud Gateway网关服务:ky-cloud-gateway - 动态路由配置(从Nacos加载) - 全局鉴权过滤器(JWT解析) - 请求签名校验过滤器(防篡改) - 接口限流(基于Redis) ## 六、基础运维能力 - 每个服务集成:Spring Boot Actuator、Prometheus端点 - 健康检查接口:/health/detailed - 优雅停机配置 - Kubernetes探针配置示例 ## 七、输出要求 1. 生成完整的Maven多模块项目结构 2. 所有配置文件必须有详细注释 3. 提供docker-compose.yml(包含Nacos、Redis、MySQL) 4. 提供环境准备脚本:init.sh(创建数据库、Nacos命名空间) 5. 生成README.md,包含:项目结构说明、启动顺序、技术栈版本清单