1.SpringBoot项目的搭建:

项目介绍:

image.png

添加依赖包的介绍:

Spring Boot DevTools依赖包的介绍
Spring Boot DevTools 是 Spring Boot 中一个非常实用的开发工具,它提供了许多方便开发的功能,例如自动重启、自动显示错误页面、自动刷新等。DevTools 是一个可选的依赖,可以通过在 pom.xml 文件中添加依赖来引入。
具体来说,添加 Spring Boot DevTools 依赖的方法如下:
xml
Copy

1
2
3
4
5
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>

这个依赖包含了许多实用的工具类和功能,例如:

  • 自动重启:在修改代码后,可以自动重新启动应用程序,从而减少开发过程中的重复操作。
  • 自动显示错误页面:当出现错误时,可以自动显示错误页面,便于开发人员进行排查和调试。
  • 自动刷新:当修改了静态资源(例如 HTML、CSS、JavaScript)时,可以自动刷新页面,从而方便开发人员进行调试。
  • 热部署:可以在运行时替换类文件,从而避免应用程序重启,提高开发效率。

需要注意的是,Spring Boot DevTools 只适用于开发环境,不建议在生产环境中使用。此外,由于 DevTools 中包含了许多自动化功能,可能会影响应用程序的性能和稳定性,因此需要根据实际情况进行选择和配置。
Lombok依赖包
Lombok 是一个 Java 库,它提供了许多简化 Java 代码编写的功能,例如自动生成 getter/setter 方法、构造函数、equals 和 hashCode 方法等。Lombok 是一个可选的依赖,可以通过在 pom.xml 文件中添加依赖来引入。
具体来说,添加 Lombok 依赖的方法如下:
xml
Copy

1
2
3
4
5
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>

这个依赖包含了许多实用的注解和工具类,例如:

  • @Getter 和 @Setter:自动生成属性的 getter/setter 方法。
  • @Data:自动生成属性的 getter/setter 方法、equals 和 hashCode 方法、toString 方法和无参构造函数。
  • @Builder:自动生成 Builder 模式的代码,用于构建复杂的对象。
  • @NoArgsConstructor 和 @AllArgsConstructor:自动生成无参和全参构造函数。
  • @Slf4j:自动生成日志记录器,可以使用 log 变量进行日志记录。

需要注意的是,Lombok 通过注解来简化代码编写,但是这些注解并不是标准的 Java 注解,因此需要使用 Lombok 的插件来解析和编译这些注解。在使用 Lombok 时,需要在开发环境中安装 Lombok 插件,以便正确地解析和编译 Lombok 注解。
Spring Configuration Processor依赖包
Spring Configuration Processor 是一个用于处理 Spring Boot 应用程序的注解处理器,可以生成用于配置 Spring 应用程序的元数据。在使用 Spring Boot 2.2 及以上版本时,可以使用 Spring Configuration Processor 来生成配置元数据,从而提高应用程序的性能和可维护性。
要使用 Spring Configuration Processor,需要在项目的依赖中添加以下依赖项:
xml
Copy

1
2
3
4
5
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

在这个依赖中,spring-boot-configuration-processor 是 Spring Configuration Processor 的实现依赖。optional 标记表示该依赖项是可选的,因为 Spring Configuration Processor 不是必需的依赖项。如果不需要使用 Spring Configuration Processor,则可以将该依赖项从项目中删除。
需要注意的是,Spring Configuration Processor 只能处理使用 Spring Boot 配置注解(例如 @ConfigurationProperties、@Value 等)的类,如果没有使用这些注解,则无法从中生成配置元数据。在使用 Spring Configuration Processor 时,应该遵循以下几个最佳实践:

  1. 遵循 Spring Boot 的命名约定,例如将配置类命名为 application.properties 或 application.yml 中的属性名。
  2. 使用 @ConfigurationProperties 和 @Value 注解来标记配置类和属性,以便生成配置元数据。
  3. 在配置类和属性上添加必要的注释,以便生成的配置元数据具有可读性和可维护性。

创建配置文件:

Spring boot 的配置文件主要用来配置项目的核心配置内容, 配置文件有两种格式一种事 .properties
的属性文件。 另一中是 .yml/.yaml 为后缀的 yaml 格式文件。
创建好springboot项目后默认会有一个属性配置文件: application.properties
注意:两种配置文件只需要存在其中一种即可。 yml 格式的文件配置更加简洁明了,相较于属性
配置文件。

属性配置文件:

**# 修改服务器的默认端口号 **
server.port=8888

修改一下项目的根路径

server.servlet.context-path=/test
注意: 第一个等号左边是key , 右边是值, 不要在等号两边加空格。
6.2 yaml 配置文件
application.yml文件,全称是 YAML Ain’t Markup Language,它是以数据为中心的标记语言,比XML和
JSON更适合作为配置文件

端口号 注意不同层级通过缩进来识别, 同一级要对齐, 属性和值之间必须用空格来分隔, 空格不能省

server:
port: 9999
servlet:
  context-path: /demo(这里要求在项目文件下有demo文件)
同一级要左对齐, key和值之间需要一个空格, 不能省略, key 的不同级使用缩进来表示
对于springboot的主配置文件名称必须是 application.properties 或者
application.yml/yaml .

SpringMVC:

上面pom.xml里面导入 spring-boot-starter-web 就已经引入springmvc的环境了.
对应的依赖:

   org.springframework.boot    spring-boot-starter-web spring-boot-starter-web 是 Spring Boot 框架提供的一个 Starter 模块,用于构建基于 Web 的应用程序。它提供了一组常用的依赖项,例如 Spring MVC、Tomcat、Jackson 和 Spring Web 等,这些依赖项可以帮助开发人员快速构建 Web 应用程序。 通过在 Maven 或 Gradle 项目中引入 spring-boot-starter-web Starter 模块,开发人员可以轻松地构建一个 Web 应用程序,并且不需要手动添加依赖项。此外,Spring Boot 还为该 Starter 模块提供了默认配置,以帮助开发人员快速启动应用程序,而无需进行复杂的配置。 #### 表单提交请求流程: ![image.png](https://cdn.nlark.com/yuque/0/2023/png/28066124/1688087188138-19666bb0-884c-4275-b365-c7a0c75cc802.png#averageHue=%23f2f0ef&clientId=ucabb86a5-8dff-4&from=paste&height=526&id=u1e5c2d90&originHeight=658&originWidth=1359&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=174427&status=done&style=none&taskId=ud813ea41-d14e-4d7c-b546-f4df6469bbf&title=&width=1087.2) #### 相关注解: ###### @RestController @RestController 是 Spring Framework 中的一个注解,用于将一个类标记为 RESTful web 服务的控制器。 与传统的 Spring MVC 控制器不同,使用 @RestController 注解的类会自动将返回值转换为 JSON 或 XML 格式,并将其写入 HTTP 响应。这意味着开发人员可以更轻松地构建 RESTful Web 服务,而无需手动编写代码来序列化和反序列化数据。 当一个类使用 @RestController 注解时,Spring 会自动将其识别为一个控制器,并自动进行一些配置,例如将该类中的方法映射到相应的 URL 路径上。开发人员可以使用其他注解,例如 @GetMapping、@PostMapping、@PutMapping 和 @DeleteMapping 等来定义不同的请求方法,以及它们所处理的不同 URL。 Spring Framework 的核心是 Spring IOC 容器,它是一个负责管理应用程序组件的容器。在 IOC 容器中,组件之间的依赖关系被自动注入,这使得开发人员可以更加专注于编写业务逻辑,而不需要处理组件之间的耦合度。 [The Spring @Controller and @RestController Annotations | Baeldung](https://www.baeldung.com/spring-controller-vs-restcontroller) ###### RESTful web 服务 RESTful web 服务是一种基于 REST 架构风格的 Web 服务,它使用 HTTP 协议提供数据和功能,以便其他应用程序或客户端可以通过 HTTP 请求进行访问和使用。 REST 是一种架构风格,它是 Representational State Transfer 的缩写,其中表述(Representational)指的是资源的表现形式,状态(State)指的是资源在某一时间点的状态,转移(Transfer)指的是客户端根据资源状态做出的一些行为。 在 RESTful web 服务中,资源通常是通过 URL(统一资源定位符)来表示的,并且可以使用 HTTP 动词(GET、POST、PUT、DELETE 等)来定义对资源的操作。例如,可以使用 GET 请求来获取资源的状态,使用 POST 请求来创建资源,使用 PUT 请求来更新资源,使用 DELETE 请求来删除资源等。此外,RESTful web 服务通常使用 JSON 或 XML 等格式来表示数据。 RESTful web 服务的优点包括可伸缩性、可重用性、可扩展性和可靠性等。它已成为构建 Web 服务的一种主流架构风格,并被广泛应用于各种 Web 应用程序和移动应用程序中。