mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-20 22:17:09 +08:00
Update spring-annotations.md
This commit is contained in:
parent
c0da649389
commit
768c2215f8
@ -1,8 +1,8 @@
|
||||
### 文章目录:
|
||||
|
||||
### 文章目录
|
||||
<!-- TOC -->
|
||||
|
||||
- [文章目录:](#%e6%96%87%e7%ab%a0%e7%9b%ae%e5%bd%95)
|
||||
- [文章目录](#%e6%96%87%e7%ab%a0%e7%9b%ae%e5%bd%95)
|
||||
- [0.前言](#0%e5%89%8d%e8%a8%80)
|
||||
- [1. `@SpringBootApplication`](#1-springbootapplication)
|
||||
- [2. Spring Bean 相关](#2-spring-bean-%e7%9b%b8%e5%85%b3)
|
||||
@ -11,12 +11,12 @@
|
||||
- [2.3. `@RestController`](#23-restcontroller)
|
||||
- [2.4. `@Scope`](#24-scope)
|
||||
- [2.5. `Configuration`](#25-configuration)
|
||||
- [3. 处理常见的HTTP请求类型](#3-%e5%a4%84%e7%90%86%e5%b8%b8%e8%a7%81%e7%9a%84http%e8%af%b7%e6%b1%82%e7%b1%bb%e5%9e%8b)
|
||||
- [3.1. GET请求](#31-get%e8%af%b7%e6%b1%82)
|
||||
- [3.2. POST请求](#32-post%e8%af%b7%e6%b1%82)
|
||||
- [3.3. PUT请求](#33-put%e8%af%b7%e6%b1%82)
|
||||
- [3.4. **DELETE请求**](#34-delete%e8%af%b7%e6%b1%82)
|
||||
- [3.5. **PATCH请求**](#35-patch%e8%af%b7%e6%b1%82)
|
||||
- [3. 处理常见的 HTTP 请求类型](#3-%e5%a4%84%e7%90%86%e5%b8%b8%e8%a7%81%e7%9a%84-http-%e8%af%b7%e6%b1%82%e7%b1%bb%e5%9e%8b)
|
||||
- [3.1. GET 请求](#31-get-%e8%af%b7%e6%b1%82)
|
||||
- [3.2. POST 请求](#32-post-%e8%af%b7%e6%b1%82)
|
||||
- [3.3. PUT 请求](#33-put-%e8%af%b7%e6%b1%82)
|
||||
- [3.4. **DELETE 请求**](#34-delete-%e8%af%b7%e6%b1%82)
|
||||
- [3.5. **PATCH 请求**](#35-patch-%e8%af%b7%e6%b1%82)
|
||||
- [4. 前后端传值](#4-%e5%89%8d%e5%90%8e%e7%ab%af%e4%bc%a0%e5%80%bc)
|
||||
- [4.1. `@PathVariable` 和 `@RequestParam`](#41-pathvariable-%e5%92%8c-requestparam)
|
||||
- [4.2. `@RequestBody`](#42-requestbody)
|
||||
@ -28,8 +28,8 @@
|
||||
- [6.1. 一些常用的字段验证的注解](#61-%e4%b8%80%e4%ba%9b%e5%b8%b8%e7%94%a8%e7%9a%84%e5%ad%97%e6%ae%b5%e9%aa%8c%e8%af%81%e7%9a%84%e6%b3%a8%e8%a7%a3)
|
||||
- [6.2. 验证请求体(RequestBody)](#62-%e9%aa%8c%e8%af%81%e8%af%b7%e6%b1%82%e4%bd%93requestbody)
|
||||
- [6.3. 验证请求参数(Path Variables 和 Request Parameters)](#63-%e9%aa%8c%e8%af%81%e8%af%b7%e6%b1%82%e5%8f%82%e6%95%b0path-variables-%e5%92%8c-request-parameters)
|
||||
- [7. 全局处理Controller层异常](#7-%e5%85%a8%e5%b1%80%e5%a4%84%e7%90%86controller%e5%b1%82%e5%bc%82%e5%b8%b8)
|
||||
- [8. JPA相关](#8-jpa%e7%9b%b8%e5%85%b3)
|
||||
- [7. 全局处理 Controller 层异常](#7-%e5%85%a8%e5%b1%80%e5%a4%84%e7%90%86-controller-%e5%b1%82%e5%bc%82%e5%b8%b8)
|
||||
- [8. JPA 相关](#8-jpa-%e7%9b%b8%e5%85%b3)
|
||||
- [8.1. 创建表](#81-%e5%88%9b%e5%bb%ba%e8%a1%a8)
|
||||
- [8.2. 创建主键](#82-%e5%88%9b%e5%bb%ba%e4%b8%bb%e9%94%ae)
|
||||
- [8.3. 设置字段类型](#83-%e8%ae%be%e7%bd%ae%e5%ad%97%e6%ae%b5%e7%b1%bb%e5%9e%8b)
|
||||
@ -40,17 +40,16 @@
|
||||
- [8.8. 删除/修改数据](#88-%e5%88%a0%e9%99%a4%e4%bf%ae%e6%94%b9%e6%95%b0%e6%8d%ae)
|
||||
- [8.9. 关联关系](#89-%e5%85%b3%e8%81%94%e5%85%b3%e7%b3%bb)
|
||||
- [9. 事务 `@Transactional`](#9-%e4%ba%8b%e5%8a%a1-transactional)
|
||||
- [10. json数据处理](#10-json%e6%95%b0%e6%8d%ae%e5%a4%84%e7%90%86)
|
||||
- [10.1. 过滤json数据](#101-%e8%bf%87%e6%bb%a4json%e6%95%b0%e6%8d%ae)
|
||||
- [10.2. 格式化json数据](#102-%e6%a0%bc%e5%bc%8f%e5%8c%96json%e6%95%b0%e6%8d%ae)
|
||||
- [10. json 数据处理](#10-json-%e6%95%b0%e6%8d%ae%e5%a4%84%e7%90%86)
|
||||
- [10.1. 过滤 json 数据](#101-%e8%bf%87%e6%bb%a4-json-%e6%95%b0%e6%8d%ae)
|
||||
- [10.2. 格式化 json 数据](#102-%e6%a0%bc%e5%bc%8f%e5%8c%96-json-%e6%95%b0%e6%8d%ae)
|
||||
- [10.3. 扁平化对象](#103-%e6%89%81%e5%b9%b3%e5%8c%96%e5%af%b9%e8%b1%a1)
|
||||
- [11. 测试相关](#11-%e6%b5%8b%e8%af%95%e7%9b%b8%e5%85%b3)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
### 0.前言
|
||||
|
||||
*大家好,我是Guide哥!这是我的221篇优质原创文章。如需转载,请在文首注明地址,蟹蟹!*
|
||||
_大家好,我是 Guide 哥!这是我的 221 篇优质原创文章。如需转载,请在文首注明地址,蟹蟹!_
|
||||
|
||||
本文已经收录进我的 75K Star 的 Java 开源项目 JavaGuide:[https://github.com/Snailclimb/JavaGuide](https://github.com/Snailclimb/JavaGuide)。
|
||||
|
||||
@ -66,7 +65,7 @@
|
||||
|
||||
这里先单独拎出`@SpringBootApplication` 注解说一下,虽然我们一般不会主动去使用它。
|
||||
|
||||
*Guide哥:这个注解是 Spring Boot项目的基石,创建SpringBoot项目之后会默认在主类加上。*
|
||||
_Guide 哥:这个注解是 Spring Boot 项目的基石,创建 SpringBoot 项目之后会默认在主类加上。_
|
||||
|
||||
```java
|
||||
@SpringBootApplication
|
||||
@ -144,7 +143,7 @@ public class UserController {
|
||||
|
||||
`@RestController`注解是`@Controller和`@`ResponseBody`的合集,表示这是个控制器 bean,并且是将函数的返回值直 接填入 HTTP 响应体中,是 REST 风格的控制器。
|
||||
|
||||
*Guide哥:现在都是前后端分离,说实话我已经很久没有用过`@Controller`。如果你的项目太老了的话,就当我没说。*
|
||||
_Guide 哥:现在都是前后端分离,说实话我已经很久没有用过`@Controller`。如果你的项目太老了的话,就当我没说。_
|
||||
|
||||
单独使用 `@Controller` 不加 `@ResponseBody`的话一般使用在要返回一个视图的情况,这种情况属于比较传统的 Spring MVC 的应用,对应于前后端不分离的情况。`@Controller` +`@ResponseBody` 返回 JSON 或 XML 形式数据
|
||||
|
||||
@ -477,7 +476,6 @@ public class PersonController {
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
#### 6.3. 验证请求参数(Path Variables 和 Request Parameters)
|
||||
|
||||
**一定一定不要忘记在类上加上 `Validated` 注解了,这个参数可以告诉 Spring 去校验方法参数。**
|
||||
@ -522,6 +520,7 @@ public class GlobalExceptionHandler {
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
更多关于 Spring Boot 异常处理的内容,请看我的这两篇文章:
|
||||
|
||||
1. [SpringBoot 处理异常的几种常见姿势](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247485568&idx=2&sn=c5ba880fd0c5d82e39531fa42cb036ac&chksm=cea2474bf9d5ce5dcbc6a5f6580198fdce4bc92ef577579183a729cb5d1430e4994720d59b34&token=2133161636&lang=zh_CN#rd)
|
||||
@ -564,7 +563,7 @@ private Long id;
|
||||
|
||||
JPA 使用枚举定义了 4 中常见的主键生成策略,如下:
|
||||
|
||||
*Guide哥:枚举替代常量的一种用法*
|
||||
_Guide 哥:枚举替代常量的一种用法_
|
||||
|
||||
```java
|
||||
public enum GenerationType {
|
||||
@ -1006,8 +1005,6 @@ public abstract class TestBase {
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
*暂时总结到这里吧!虽然花了挺长时间才写完,不过可能还是会一些常用的注解的被漏掉,所以,我将文章也同步到了Github上去,Github地址: 欢迎完善!*
|
||||
_暂时总结到这里吧!虽然花了挺长时间才写完,不过可能还是会一些常用的注解的被漏掉,所以,我将文章也同步到了 Github 上去,Github 地址: 欢迎完善!_
|
||||
|
||||
本文已经收录进我的 75K Star 的 Java 开源项目 JavaGuide:[https://github.com/Snailclimb/JavaGuide](https://github.com/Snailclimb/JavaGuide)。
|
Loading…
x
Reference in New Issue
Block a user