# core-common **Repository Path**: qhgiteecode/core-common ## Basic Information - **Project Name**: core-common - **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-05 - **Last Updated**: 2025-09-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Core-Common SpringBoot项目 ## 项目介绍 这是一个基于SpringBoot 2.3.12.RELEASE的企业级后端开发脚手架项目,集成了常用的技术栈和最佳实践,可以快速开始业务开发。 ## 技术栈 - **SpringBoot**: 2.3.12.RELEASE - **JDK**: 1.8 - **数据库**: MySQL 5.7 - **ORM框架**: MyBatis-Plus 3.4.3 - **连接池**: Druid 1.2.6 - **API文档**: Swagger 2.9.2 - **JSON处理**: FastJSON 1.2.78 - **工具库**: Hutool 5.7.5 - **分页插件**: PageHelper 1.3.1 - **构建工具**: Maven ## 项目结构 ``` core-common/ ├── pom.xml # Maven配置文件 ├── README.md # 项目说明文档 ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── common/ │ │ │ ├── CoreCommonApplication.java # 主启动类 │ │ │ ├── config/ # 配置类 │ │ │ │ ├── DataSourceConfig.java # 数据源配置 │ │ │ │ ├── MyBatisConfig.java # MyBatis配置 │ │ │ │ ├── WebMvcConfig.java # Web MVC配置 │ │ │ │ └── SwaggerConfig.java # Swagger文档配置 │ │ │ ├── controller/ # 控制层 │ │ │ │ ├── BaseController.java # 基础控制器 │ │ │ │ └── TestController.java # 测试控制器 │ │ │ ├── service/ # 服务层 │ │ │ │ ├── impl/ # 服务实现类 │ │ │ │ │ └── BaseServiceImpl.java # 基础服务实现 │ │ │ │ └── BaseService.java # 基础服务接口 │ │ │ ├── mapper/ # 数据访问层 │ │ │ │ └── BaseMapper.java # 通用Mapper接口 │ │ │ ├── entity/ # 实体类 │ │ │ │ └── BaseEntity.java # 基础实体类 │ │ │ ├── dto/ # 数据传输对象 │ │ │ │ ├── request/ # 请求DTO │ │ │ │ └── response/ # 响应DTO │ │ │ ├── vo/ # 视图对象 │ │ │ ├── enums/ # 枚举类 │ │ │ ├── common/ # 通用组件 │ │ │ │ ├── result/ # 统一返回结果 │ │ │ │ │ ├── Result.java # 统一返回结果类 │ │ │ │ │ ├── ResultCode.java # 返回码枚举 │ │ │ │ │ └── PageResult.java # 分页结果类 │ │ │ │ ├── exception/ # 异常处理 │ │ │ │ │ ├── GlobalExceptionHandler.java # 全局异常处理器 │ │ │ │ │ ├── BusinessException.java # 业务异常类 │ │ │ │ │ └── CustomException.java # 自定义异常类 │ │ │ │ └── constant/ # 常量定义 │ │ │ │ └── CommonConstant.java # 通用常量 │ │ │ └── util/ # 工具类 │ │ │ ├── DateUtil.java # 日期工具类 │ │ │ ├── StringUtil.java # 字符串工具类 │ │ │ ├── JsonUtil.java # JSON工具类 │ │ │ └── BeanUtil.java # Bean工具类 │ │ └── resources/ │ │ ├── application.yml # 主配置文件 │ │ ├── application-dev.yml # 开发环境配置 │ │ ├── application-test.yml # 测试环境配置 │ │ ├── application-prod.yml # 生产环境配置 │ │ ├── mapper/ # MyBatis XML映射文件 │ │ ├── static/ # 静态资源 │ │ └── templates/ # 模板文件 │ └── test/ │ └── java/ │ └── com/ │ └── common/ │ └── CoreCommonApplicationTests.java # 测试类 ``` ## 数据库配置 ### 数据库信息 - **主机**: localhost:3306 - **数据库**: common_db - **用户名**: root - **密码**: asdf3.14 ### 创建数据库 ```sql CREATE DATABASE IF NOT EXISTS common_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` ## 快速开始 ### 1. 环境要求 - JDK 1.8+ - Maven 3.6+ - MySQL 5.7+ ### 2. 克隆项目 ```bash git clone cd core-common ``` ### 3. 配置数据库 确保MySQL服务已启动,并创建数据库`common_db` ### 4. 编译运行 ```bash # 编译项目 mvn clean compile # 运行项目 mvn spring-boot:run # 或者打包后运行 mvn clean package java -jar target/core-common-1.0.0.jar ``` ### 5. 访问应用 - 应用地址: http://localhost:8080/api - Swagger文档: http://localhost:8080/api/swagger-ui.html - Druid监控: http://localhost:8080/api/druid/(用户名:admin,密码:123456) ## API测试 项目启动后,可以通过以下接口测试: ### 健康检查 ```bash GET http://localhost:8080/api/test/health ``` ### Hello World ```bash GET http://localhost:8080/api/test/hello ``` ### 系统信息 ```bash GET http://localhost:8080/api/test/info ``` ### 异常测试 ```bash GET http://localhost:8080/api/test/error ``` ## 核心功能 ### 1. 统一返回结果 ```java // 成功返回 Result result = Result.success("操作成功"); // 失败返回 Result result = Result.failed("操作失败"); // 分页返回 PageResult pageResult = PageResult.of(pageNum, pageSize, total, userList); ``` ### 2. 全局异常处理 系统会自动捕获和处理各种异常,返回统一格式的错误信息。 ### 3. 数据访问层 - 集成MyBatis-Plus,提供强大的CRUD功能 - 支持自动填充创建时间、更新时间 - 支持逻辑删除 ### 4. 配置管理 - 支持多环境配置(dev/test/prod) - 数据库连接池配置 - 日志配置 - Swagger文档配置 ### 5. 工具类 - **DateUtil**: 日期时间处理 - **StringUtil**: 字符串操作和验证 - **JsonUtil**: JSON序列化和反序列化 - **BeanUtil**: 对象属性拷贝和转换 ## 开发规范 ### 1. 包命名规范 - `controller`: 控制层,处理HTTP请求 - `service`: 业务逻辑层 - `mapper`: 数据访问层 - `entity`: 实体类 - `dto`: 数据传输对象 - `vo`: 视图对象 - `enums`: 枚举类 - `config`: 配置类 - `util`: 工具类 ### 2. 接口设计规范 - 统一使用RESTful风格 - 统一返回Result格式 - 统一异常处理 ### 3. 数据库设计规范 - 表名使用下划线命名 - 主键统一使用id,自增长 - 必须包含create_time、update_time、deleted字段 ## 扩展指南 ### 1. 添加新的实体 ```java @Data @EqualsAndHashCode(callSuper = true) @TableName("user") @ApiModel(value = "用户实体", description = "用户信息") public class User extends BaseEntity { @ApiModelProperty(value = "用户名") private String username; @ApiModelProperty(value = "密码") private String password; // 其他属性... } ``` ### 2. 添加新的Mapper ```java @Repository public interface UserMapper extends BaseMapper { // 自定义查询方法 } ``` ### 3. 添加新的Service ```java public interface UserService extends BaseService { // 自定义业务方法 } @Service public class UserServiceImpl extends BaseServiceImpl implements UserService { // 实现自定义业务方法 } ``` ### 4. 添加新的Controller ```java @RestController @RequestMapping("/user") @Api(tags = "用户管理") public class UserController extends BaseController { @Autowired private UserService userService; @GetMapping("/{id}") @ApiOperation("根据ID查询用户") public Result getById(@PathVariable Long id) { User user = userService.getById(id); return success(user); } } ``` ## 注意事项 1. 确保MySQL服务正常运行 2. 第一次运行时会自动创建数据库表(如果使用了DDL自动执行) 3. 生产环境请修改数据库连接信息和相关密码 4. 建议在生产环境关闭Swagger和Druid监控 ## 联系方式 如有问题,请联系开发团队。 ## 更新日志 ### v1.0.0 (2024-01-01) - 初始版本 - 集成SpringBoot、MyBatis-Plus、Swagger等核心组件 - 提供基础的CRUD操作和通用组件