--- title: "13-初始化项目与基础模块" created: 2025-12-02 tags: - 项目 aliases: - 初始化项目与基础模块 --- # 初始化项目与基础模块 ## git仓库 ```bash git init git config user.name "Zwww" git config user.email "zv041118@163.com" git remote add origin git@git.acwing.com:Zwww/nichangyunshu.git git status git add . git status git commit -m "项目搭建 后端初始化" git push -u origin master ``` ## 后端初始化 ### 创建 #### javaspring 环境选择 **java8** **springboot2.7.6** ![[image-29d008e4.png]] ![[image-672edd70.png]] #### mysql ```java create database nichangyunshu; use nichangyunshu; ``` ### 整合依赖 #### pom.xml ```xml 4.0.0 com.zwnsyw nichangyunshu-backend 0.0.1-SNAPSHOT nichangyunshu-backend nichangyunshu-backend 1.8 UTF-8 UTF-8 2.7.6 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-aop org.springframework.boot spring-boot-starter-test test io.jsonwebtoken jjwt-api 0.11.5 io.jsonwebtoken jjwt-impl 0.11.5 runtime io.jsonwebtoken jjwt-jackson 0.11.5 runtime com.baomidou mybatis-plus-boot-starter 3.5.9 com.baomidou mybatis-plus-jsqlparser-4.9 com.mysql mysql-connector-j runtime org.projectlombok lombok true org.springframework.boot spring-boot-starter-validation javax.validation validation-api cn.hutool hutool-all 5.8.26 org.apache.commons commons-lang3 3.12.0 com.github.xiaoymin knife4j-openapi2-spring-boot-starter 4.4.0 org.mindrot jbcrypt 0.4 com.atlassian.commonmark commonmark 0.17.0 org.springframework.boot spring-boot-dependencies ${spring-boot.version} pom import com.baomidou mybatis-plus-bom 3.5.9 pom import org.apache.maven.plugins maven-compiler-plugin 3.8.1 1.8 1.8 UTF-8 org.springframework.boot spring-boot-maven-plugin ${spring-boot.version} com.zwnsyw.nichangyunshubackend.NichangyunshuBackendApplication true repackage repackage ``` #### application.yml ![[image-2010b478.png]] ```java server: port: 8686 servlet: context-path: /api spring: application: name: nichangyunshu-backend datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/nichangyunshu?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true username: root password: zw200495 mybatis-plus: configuration: map-underscore-to-camel-case: false # 不自动下划线转驼峰 手动统一命名为全驼峰 # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 仅在开发环境开启日志(会输出拼接的sql语句方便调试) default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler # 解决@EnumValue不生效 global-config: db-config: logic-delete-field: isDelete # 全局逻辑删除的实体字段名 logic-delete-value: 1 # 逻辑已删除值(默认为 1) logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) # 接口文档配置 knife4j: enable: true openapi: title: "接口文档" version: 1.0 group: default: api-rule: package api-rule-resources: - com.zwnsyw.nichangyunshubackend.controller security: salt: ${USER_SALT:default_salt_value} ``` ### 基础公共代码与config #### 全局异常处理器、通用请求/返回类 复制之前的包 ![[image-68b7d87b.png]] 记得重启一下 确保包名都设置正确 #### 基础config 跨域config 拦截器鉴权config mybatisplus-config ![[image-b4f1272d.png]] 拦截器暂时注释掉 后续添加rbac后再拦截 #### 其他工具代码及包层级 ![[image-68b1b489.png]] ### 测试接口文档 编写测试代码: ```java package com.zwnsyw.nichangyunshubackend.controller; import com.zwnsyw.nichangyunshubackend.common.response.BaseResponse; import com.zwnsyw.nichangyunshubackend.common.response.ResultUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/") public class TestController { @GetMapping("/health") public BaseResponse health() { return ResultUtils.success("ok"); } } ``` 访问 http://localhost:8686/api/doc.html ![[image-dea94b28.png]] --- **项目分区导航**:⬅️ [[12-数据需求|12-数据需求]] | 13-初始化项目与基础模块 | ➡️ [[14-用户模块 RBAC|14-用户模块 RBAC]]