# userm **Repository Path**: mopel/userm ## Basic Information - **Project Name**: userm - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-07 - **Last Updated**: 2025-09-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # {PROJECT_NAME} {PROJECT_DESCRIPTION} ## 项目概述 这是一个基于 Spring Boot 2.7.18 和 Spring Cloud 2021.0.9 的多模块微服务项目。 ## 技术栈 - **Java**: 1.8+ - **Spring Boot**: 2.7.18 - **Spring Cloud**: 2021.0.9 - **Spring Cloud Alibaba**: 2021.0.5.0 - **MySQL**: 8.0.33 - **Redis**: 缓存和会话存储 - **MyBatis Plus**: 3.5.3.1 - **Druid**: 1.2.16 (数据库连接池) - **Nacos**: 服务发现和配置中心 - **Maven**: 项目构建工具 ## 项目结构 ``` {ARTIFACT_ID}/ ├── pom.xml # 父项目POM文件 ├── common-dependencies/ # 依赖管理模块 │ └── pom.xml ├── common-core/ # 通用核心模块 │ ├── pom.xml │ └── src/ │ ├── main/java/ │ │ └── {PACKAGE_PATH}/common/core/ │ └── test/java/ └── biz-service/ # 业务服务模块 ├── pom.xml └── src/ ├── main/java/ │ └── {PACKAGE_PATH}/ ├── main/resources/ │ ├── application.yml │ ├── application-dev.yml │ ├── application-prod.yml │ └── bootstrap.yml └── test/java/ ``` ## 快速开始 ### 环境要求 - JDK 1.8+ - Maven 3.6+ - MySQL 8.0+ - Redis 6.0+ - Nacos 2.0+ (可选) ### 安装步骤 1. **克隆项目** ```bash git clone {REPOSITORY_URL} cd {ARTIFACT_ID} ``` 2. **配置数据库** - 创建数据库:`{DATABASE_NAME}` - 修改 `biz-service/src/main/resources/application-dev.yml` 中的数据库连接信息 3. **配置 Redis** - 启动 Redis 服务 - 修改配置文件中的 Redis 连接信息 4. **编译项目** ```bash mvn clean compile ``` 5. **运行项目** ```bash cd biz-service mvn spring-boot:run ``` ### 配置说明 #### 数据库配置 在 `application-dev.yml` 中配置: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/{DATABASE_NAME}?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: {DB_USERNAME} password: {DB_PASSWORD} ``` #### Redis 配置 ```yaml spring: redis: host: localhost port: 6379 password: {REDIS_PASSWORD} database: 0 ``` #### Nacos 配置 (可选) ```yaml spring: cloud: nacos: discovery: server-addr: localhost:8848 config: server-addr: localhost:8848 file-extension: yml ``` ## API 文档 项目启动后,可以通过以下地址访问 API 文档: - **Swagger UI**: http://localhost:8080/swagger-ui.html - **API Docs**: http://localhost:8080/v3/api-docs ## 开发指南 ### 代码规范 1. 使用 Lombok 简化代码 2. 遵循 RESTful API 设计规范 3. 统一异常处理 4. 使用 MyBatis Plus 进行数据库操作 5. 添加适当的日志记录 ### 新增模块 1. 在根目录创建新模块目录 2. 创建模块的 `pom.xml`,继承 `common-dependencies` 3. 在根 `pom.xml` 的 `` 中添加新模块 4. 实现具体业务逻辑 ### 数据库迁移 建议使用 Flyway 或 Liquibase 进行数据库版本管理: ```sql -- 示例建表语句 CREATE TABLE `user` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `username` varchar(50) NOT NULL COMMENT '用户名', `email` varchar(100) DEFAULT NULL COMMENT '邮箱', `created_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除标志', PRIMARY KEY (`id`), UNIQUE KEY `uk_username` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表'; ``` ## 部署 ### 本地部署 ```bash # 打包 mvn clean package -DskipTests # 运行 java -jar biz-service/target/biz-service-1.0.0.jar ``` ### Docker 部署 ```dockerfile # Dockerfile 示例 FROM openjdk:8-jre-alpine VOLUME /tmp COPY biz-service/target/biz-service-1.0.0.jar app.jar EXPOSE 8080 ENTRYPOINT ["java","-jar","/app.jar"] ``` ```bash # 构建镜像 docker build -t {ARTIFACT_ID}:latest . # 运行容器 docker run -p 8080:8080 {ARTIFACT_ID}:latest ``` ### 生产环境部署 1. 配置生产环境变量 2. 使用 `application-prod.yml` 配置 3. 配置日志输出 4. 设置健康检查 5. 配置监控和告警 ## 监控和运维 ### 健康检查 - **健康检查端点**: http://localhost:8080/actuator/health - **应用信息**: http://localhost:8080/actuator/info - **指标监控**: http://localhost:8080/actuator/metrics ### 日志配置 项目使用 Logback 进行日志管理,日志配置在 `logback-spring.xml` 中。 ### 性能监控 建议集成以下监控工具: - **Micrometer**: 应用指标收集 - **Prometheus**: 指标存储 - **Grafana**: 指标可视化 - **ELK Stack**: 日志分析 ## 测试 ### 单元测试 ```bash # 运行所有测试 mvn test # 运行指定模块测试 mvn test -pl biz-service ``` ### 集成测试 ```bash # 运行集成测试 mvn verify ``` ## 常见问题 ### Q: 启动时数据库连接失败? A: 检查数据库服务是否启动,配置文件中的连接信息是否正确。 ### Q: Redis 连接失败? A: 确认 Redis 服务已启动,检查连接配置和防火墙设置。 ### Q: 如何修改默认端口? A: 在 `application.yml` 中修改 `server.port` 配置。 ### Q: 如何添加新的依赖? A: 在 `common-dependencies/pom.xml` 的 `` 中添加版本管理,然后在具体模块中引用。 ## 贡献指南 1. Fork 本项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request ## 许可证 本项目采用 [MIT License](LICENSE) 许可证。 ## 联系方式 - **项目维护者**: {MAINTAINER_NAME} - **邮箱**: {MAINTAINER_EMAIL} - **项目地址**: {REPOSITORY_URL} ## 更新日志 ### v1.0.0 (2024-XX-XX) - 初始版本发布 - 基础框架搭建 - 核心功能实现 --- **注意**: 请根据实际项目情况修改上述模板中的占位符内容。