稷然如此

  • 首页
  • 文章分类
    • AI
    • Android
    • Java
    • Shell
    • Vue
    • C#
    • Python
    • 数据库
    • 组件
    • 其他
    • Game
  • 常用命令
    • Docker
    • Git
    • Linux
  • 操作系统
    • CentOS
    • Ubuntu
    • Windows
    • Kylin
  • 工具
    • IntelliJ IDEA
    • Visual Studio Code
稷然如此
不积跬步,无以至千里
  1. 首页
  2. 文章分类
  3. Java
  4. 正文

Spring Boot 注解介绍

2023年7月11日 890点热度 0人点赞

1、@Controller

表示这是控制器Controller对象
name-对象的Bean名字,允许为空

2、@RestController

是@Controller和@ResponseBody的组合注解,直接使用接口方法的返回结果。

3、@RequestMapping

标记类/方法对应接口的配置信息。
常用属性:
path-接口路径。[]数组,可填写多个接口路径
values-同path,是path的别名
method-请求方式,get、post、delete、put等。[]数组,可填写多个请求方式
不常用属性:
name-接口名,一般为空
params-请求参数名,可填写多个参数名。如果为空,则匹配所有方法。
headers-请求头,类似params
consumes-提交内容类型,类似params
produces-请求头Accept可接受类型,类似params

4、@GetMappinp

对应get请求方式的@RequestMapping注解

5、@PostMapping

对应post

6、@PutMapping

对应put

7、@DeleteMapping

对应delete

8、@RequestParams

添加在方法参数前,标记方法参数对应的请求参数
name-请求参数名,可为空,为空则使用方法参数名
value-name的别名
required-参数是否必传,默认true
defaultValue-参数默认值

9、@PathVariable

标记接口路径和方法参数的映射关系。使用这个注解,会造成性能下滑,一般使用@Requestparams

10、@Retention

元注解,标识@Retention下的注解保留方式
source-只保留在源文件,编译成class文件时被遗弃
class-只保留在class文件,jvm加载class文件时被遗弃
runtime-jvm加载后还存在
一般如果需要在运行时去动态获取注解信息,那只能用 RUNTIME 注解;如果要在编译时进行一些预处理操作,比如生成一些辅助代码(如 ButterKnife),就用 CLASS注解;如果只是做一些检查性的操作,比如 @Override 和 @SuppressWarnings,则可选用 SOURCE 注解

11、@Target

注解的作用目标,需要带上@Retention
TYPE-接口、类、枚举、注解
FIELD-字段、枚举的常量
METHOD-方法
PARAMETER-方法参数
CONSTRUCTOR-构造函数
LOCAL_VARIABLE-局部变量
ANNOTATION_TYPE-注解
PACKAGE-包

12、@CrossCors

标记类或方法上
常用属性:
origins-设置允许的请求来源。[]数组,可以填写多个请求来源,默认为*
value-origins的别名
allowCredentials-是否允许客户端请求发送Cookie。默认为false,不允许发送Cookie
maxAge-本次预检请求的有效期,单位为秒,默认为1800秒
不常用属性:
methods-设置允许请求的方法。[]数组,可以填写多个请求方法,默认为Get+Post
allowedHeaders-允许的请求头Header。[]数组,可以填写多个请求来源,默认为*
exposedHeaders-允许的响应头Header。[]数组,k恶意填写多个请求来源,默认为*

13、@ResponseBody

将方法的返回值以特定的格式写入到response的body区域,进而将数据返回给客户端。当方法上面没有写ResponseBody,底层会将方法的返回值封装为ModelAndView对象

14、@RequestBody

解析请求体然后映射到参数,一般用于post请求。get请求使用@pathVariable或@requestParam。

15、@Component

保证该配置类可以作为一个 Bean 被扫描到

16、@ConfigurationProperties

读取前缀为prefix = "xxx" 的配置项设置到配置类对应的属性上

17、DO、VO、DTO

DO:
数据库实体对象
VO:
视图对象,常做API接口传输对象
DTO:
传输对象,常做RPC之间传输对象

18、@Order

设置过滤器的顺序
标签: Spring Spring Boot Spring Cloud Spring MVC 注解
最后更新:2023年7月11日

Akim

犇 骉 Java、C#、Python、Go、Android、MiniProgram、Bootstrap、Vue2

点赞
< 上一篇
下一篇 >
文章目录
  • 1、@Controller
  • 2、@RestController
  • 3、@RequestMapping
  • 4、@GetMappinp
  • 5、@PostMapping
  • 6、@PutMapping
  • 7、@DeleteMapping
  • 8、@RequestParams
  • 9、@PathVariable
  • 10、@Retention
  • 11、@Target
  • 12、@CrossCors
  • 13、@ResponseBody
  • 14、@RequestBody
  • 15、@Component
  • 16、@ConfigurationProperties
  • 17、DO、VO、DTO
  • 18、@Order

Copyright © 2025 aianran.com All Rights Reserved.

免责申明 | 隐私政策 | 服务条款 | 关于我们

黔ICP备2023008200号-1

贵公网安备 52010202003594号