一个@Bean标记可以是类,也可是方法(方法返回值是个类)
2026/1/17小于 1 分钟
一个@Bean标记可以是类,也可是方法(方法返回值是个类)
源 = 协议 + 域名 + 端口
http://localhost:5173 ← 前端(Vite)
http://localhost:8081 ← 后端(Spring Boot)
↑ ↑
协议 端口不同 → 不同源 → 跨域!
前端请求传参:name,page(页码),pageSize(每页的记录数)
后端接收DTO,employeePageQueryDTO包含以上内容,
controller:
@GetMapping("/page")
@ApiOperation("员工分页查询")
public Result<PageResult> page(EmployeePageQueryDTO employeePageQueryDTO){
log.info("分页查询参数:{}",employeePageQueryDTO);
PageResult pageResult = employeeService.queryPage(employeePageQueryDTO);
return Result.success(pageResult);
}
BCrypt 是一种专门为密码存储设计的哈希算法(Hash Algorithm),而非传统的双向加密算法。
@Data=@Getter+@Setter+@ToString+@EqualsAndHashCode+@RequiredArgsConstructor
配置类就是用来创建和管理 Bean 的类。,提前配置好一些 Bean,方便在应用中使用。直接@Autowired 注入即可。
在 Spring Boot 中,相当于以前的 XML 配置文件。
@Bean 注册 Bean。| 注解 | 作用位置 | 主要用途 | 数据来源 |
|---|---|---|---|
@PathVariable |
方法参数 | 获取 URL 路径中的参数 | URL 路径 |
@RequestParam |
方法参数 | 获取 URL 查询参数 | URL ? 后面 |
@RequestBody |
方法参数 | 获取请求体(如 JSON) | 请求体 |
@RequestHeader |
方法参数 | 获取请求头信息 | HTTP Header |
@CookieValue |
方法参数 | 获取 Cookie 值 | Cookie |
@ModelAttribute |
方法参数 | 绑定表单数据 | 请求参数/体 |
Knife4j是一款集Swagger 2及OpenAPI 3为一体的API文档增强工具,在Spring Boot 3中,由于Spring Boot 3仅支持OpenAPI 3规范,并且要求JDK版本至少为17,因此配置方式与旧版本有所不同。
| 注解用途 | Spring Boot 2.x (Swagger 2 注解) | Spring Boot 3.x (OpenAPI 3 注解) | 说明 |
|---|---|---|---|
| 描述Controller类 | @Api(tags = "用户接口") |
@Tag(name = "用户接口") |
用于对接口进行分组。注意:OpenAPI 3 的 @Tag 不能替换 Swagger 2 的 @Api,因为它们作用不同。 |
| 描述接口方法 | @ApiOperation("获取用户") |
@Operation(summary = "获取用户", description = "...") |
描述接口的具体信息。 |
| 描述响应 | @ApiResponse(code = 200, message = "成功") |
@ApiResponse(responseCode = "200", description = "成功") |
注意属性名从 code 变为了 responseCode。 |
| 描述请求参数 | @ApiParam("用户ID") |
@Parameter(description = "用户ID") |
用于描述 @RequestParam, @PathVariable 等参数。 |
| 描述模型(实体类) | @ApiModel("用户实体") |
@Schema(description = "用户实体") |
在类上使用。 |
| 描述模型属性 | @ApiModelProperty("用户名") |
@Schema(description = "用户名") |
<!-- 数据库相关-->
<!-- mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus}</version>
</dependency>
<!-- Druid连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid}</version>
</dependency>
<!-- mysql驱动-->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>${mysql-connector-j}</version>
</dependency>
<!-- Lombok (可选,简化代码) -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombook}</version>
</dependency>
<!-- properties属性加入版本信息-->
<properties>
<lombook>1.18.36</lombook>
<mybatis-plus>3.5.5</mybatis-plus>
<druid>1.2.19</druid>
<mysql-connector-j>8.0.33</mysql-connector-j>
</properties>