diff --git a/.gitignore b/.gitignore index 87271a8..c2065bc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,27 +1,37 @@ -# ---> Java -# Compiled class file -*.class +HELP.md +.gradle +build/ +!gradle/wrapper/gradle-wrapper.jar +!**/src/main/**/build/ +!**/src/test/**/build/ -# Log file -*.log +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ -# BlueJ files -*.ctxt +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ -# Mobile Tools for Java (J2ME) -.mtj.tmp/ +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ -# Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* -replay_pid* - -.idea \ No newline at end of file +### VS Code ### +.vscode/ diff --git a/docs/tasks/images/gradle-reload.png b/docs/tasks/images/gradle-reload.png new file mode 100644 index 0000000..21a557b Binary files /dev/null and b/docs/tasks/images/gradle-reload.png differ diff --git a/docs/tasks/images/spring-boot-start.png b/docs/tasks/images/spring-boot-start.png new file mode 100644 index 0000000..c0c68cd Binary files /dev/null and b/docs/tasks/images/spring-boot-start.png differ diff --git a/docs/tasks/images/spring-openapi.png b/docs/tasks/images/spring-openapi.png new file mode 100644 index 0000000..fab69aa Binary files /dev/null and b/docs/tasks/images/spring-openapi.png differ diff --git a/docs/tasks/创建spring boot初始项目.md b/docs/tasks/创建spring boot初始项目.md index 4b8554f..e268a48 100644 --- a/docs/tasks/创建spring boot初始项目.md +++ b/docs/tasks/创建spring boot初始项目.md @@ -1,22 +1,148 @@ ### 任务名称: 创建spring boot初始项目 #### 目标: -- 通过spring starter创建一个spring boot项目 -- 添加依赖: spring web, h2, mysql, jpa, spring openapi +- 通过spring starter创建一个spring boot项目,选择依赖spring web, h2, mysql, jpa, lombok +- 添加依赖: spring openapi、structmapper - 添加配置: application.yml, application.properties - 配置JPA、H2数据库、spring openapi、logging - 基于层次架构设计目录结构及java包结构 #### 预备知识: -- [列出完成该任务前学生应具备的基础知识或先修技能,如特定编程语言基础、框架了解等。] +- 项目构建工具gradle +- spring boot框架项目结构和配置文件 #### 操作步骤: -1. **步骤1**: [详细描述第一步操作,包括使用的工具、命令或技术要点。] -2. **步骤2**: [继续描述后续步骤,确保每一步都清晰、可执行。] - ... - [根据需要添加更多步骤] +1、使用Spring Initializr创建一个Spring Boot项目。 + +在浏览器中访问:https://start.spring.io/ + +在页面上选择以下选项: +- 选择gradle 构建工具 +- 选择java开发语言 +- 选择Spring Boot版本 +- 选择Java版本 +- 选择依赖:spring web, h2, mysql, jpa,lombok +- 点击Generate +- 下载生成的项目,解压到本地。 + +![](./images/spring-boot-start.png) + +2、将生成项目中的所有文件和目录拷贝到自己的GIT项目中。 + +3、开发工具IDEA的基本配置 + +- 在idea中打开项目,设置项目使用的jdk版本为17。设置gradle的JDK版本为17。 + +4、构建工具Gradle的相关配置 + +- 修改gradle/wrapper/gradle-wrapper.properties文件,将distributionUrl的值修改为: +```text +https:\//mirrors.cloud.tencent.com/gradle/gradle-8.5-bin.zip +``` +使用国内的下载地址,提高下载gradle的速度 + +- 修改gradle.properties文件,设置gradle使用国内镜像 + +```groovy +repositories { + mavenLocal() + maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' } + maven { url 'https://maven.aliyun.com/repository/central' } + maven { url 'https://maven.aliyun.com/repository/public' } + mavenCentral() +} +``` +- 重新加载gradle项目 +![](./images/gradle-reload.png) +等待gralde将所有依赖加载完成. + +5、项目的相关配置 + +- 在目录src/main/resources下新建application.yml文件用作项目的主要配置文件。 + +- 集成springdoc openapi + springdoc openapi可快速为spring boot项目生成规范的 API 文档。 + + 在build.gradle的dependencies中添加依赖: + ```groovy + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0' + ``` + + 在application.yml中添加配置: +```yaml +springdoc: + swagger-ui: + path: /api-docs +``` + +- 配置项目日志 + +spring boot中配置日志可以在application.yml/application.properties中配置。也可以使用单独的配置文件logback.xml来配置。 + +在src/main/resources下新建一个名为`logback.xml`的文件,内容如下: +```xml + + + + + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + + + + + ${LOG_HOME}/log.%d{yyyy-MM-dd}.log + + 30 + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + + 10MB + + + + + + + + + + + + + +``` + + + +6、运行项目 + +- 使用gradle的任务 `bootRun`运行项目,在控制台可以看到spring boot项目启动成功的信息,并生成了openapi文档。 + +openapi文档访问地址: http://localhost:8080/api-docs + +![](./images/spring-openapi.png) + +- 在idea中运行项目,在控制台可以看到spring boot项目启动成功,并生成了openapi文档。 + +在项目的入口类上右键,在右键菜单中选择 "Run ..." + + #### 技术/工具需求: -- [列出完成任务所需的技术栈、工具、软件版本等。] +- intellij idea 社区版 2023 及以上 +- gradle 8.5及及上 +- spring boot 3.2.3以上 +- jdk 17 及以上 #### 成功标准: - [明确完成任务的评判标准,如代码功能实现、性能指标、测试通过条件等。]