Spring Boot注解总结

ops/2024/9/23 16:42:30/

@SpringBootApplication

组合注解,包含了 @Configuration@EnableAutoConfiguration 和 @ComponentScan 。

使用:

通常标注在主应用类上,用于启动 Spring Boot 应用。

@RestController

用于标注一个控制器类,表明该类中的方法返回的结果会直接作为响应体返回,通常用于构建 RESTful 风格的 Web 服务。

@Controller

@RequestMapping

  • 用于映射 HTTP 请求到相应的处理方法。

RequestMapping是一个用来处理请求地址映射的注解,可用于类或者方法上。注解在方法上,Controller上不加,此时的请求URL是相对于根目录的。注解在Controller上,这是类的注解是相对根目录的,而方法的注解是相对类路径的。

属性:

method:定义接收浏览器发了哪种请求。method方法返回的是RequestMethod数组,所以method可以通知指定多种请求方式。

value:指定请求的实际地址

params:请求参数,追加在URL上的键值对,可以用来限制请求参数进行请求的过滤。

@GetMapping@PostMapping@PutMapping@DeleteMapping

是 @RequestMapping 的细化注解,分别对应 HTTP 的 GET、POST、PUT、DELETE 方法。

@Autowired

用于自动装配依赖的对象。

@ResponseBody

将Java对象转为Json格式的数据。将Controller的方法返回对象通过适当的转换器转换为指定的格式之后写入到response对象的body区,通常返回Json数据或者XML数据。

(*注)使用该注解之后就不走视图处理器了,返回结果不会被解析为跳转路径,是直接将数据写入输入流中,等同于通过response对象输出指定格式的数据。比如异步获取Json数据,加上@ResponseBody注解后会直接返回Json数据。@ResponseBody将HTTP请求请求正文插入方法中,使用合适的HTTPMessageConverter将请求体写入某个对象。

用法:

作用在方法上,表示该方法的返回结果直接写进HTTP的response body中,一般在异步获取数据时使用。当方法上没有写@ResponseBody时,底层就会将方法的返回值封装为ModelAndView对象。

应用场景:

  • GET、POST方法提交时,根据request header Content-Type的值进行判断。
  • PUT方式提交时,根据request header Content-Type的值进行判断。

request body部分的数据编码格式由header部分的Content-Type来指定的。这是一个接口,由它的实现类完成转换。如果是Bean对象就会调用该对象的getXXX()方法获取属性值,然后以键值对的形式进行封装转化为Json。如果是Map集合,采用get(key)方法获取到value的值,进行封装。

@CrossOrgin

解决跨域问题,在需要跨域访问的方法或者类上添加该注解。

应用场景:

针对细粒度的跨域控制,例如一个Controller类中的methodA支持域名originA跨域访问,methodB支持originB跨域访问。

@Service

标注服务层的组件。

@Repository

标注数据访问层(DAO)的组件。

@Component

通用的组件标注,当一个类不属于明确的层次(如控制器、服务、数据访问层)时可以使用。

@Value

用于注入配置属性的值。

@EnableScheduling

开启定时任务功能。

@Scheduled

用于标注定时任务的方法。


http://www.ppmy.cn/ops/96463.html

相关文章

使用python实现3D聚类图

实验记录,在做XX得分预测的实验中,做了一个基于Python的3D聚类图,水平有限,仅供参考。 一、以实现三个类别聚类为例 代码: import pandas as pd import numpy as np from sklearn.decomposition import PCA from sk…

SQL注入(head、报错、盲注)

目录 【学习目标、重难点知识】 【学习目标】 【重难点知识】 1. 报错注入 1.1 那么什么是报错注入呢? 1.2 报错注入原理 extractvalue函数 updatexml函数 1.3 靶场解析 靶场练习 2. HEAD注入 2.1 相关全局变量 2.2 靶场解析 burp暴力破解 靶场练习 3…

设计模式 建造者模式

建造者模式介绍 建造者模式 (builder pattern), 也被称为生成器模式 , 是一种创建型设计模式. 定义: 将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 要解决的问题 建造者模式可以将部件和其组装过程分开,一步一步创建一个复…

【Hot100】LeetCode—2. 两数相加

目录 1- 思路思路 2- 实现⭐2. 两数相加——题解思路 3- ACM 实现 原题连接:2. 两数相加 1- 思路 思路 分为几个步骤 ①数据结构:遍历指针,进位符、②遍历两个链表、③处理最后的进位符 1- 数据结构 定义 curA 和 curB 用来遍历两个链表定义 carry 记…

mcjson_根据InPath路径,查询mcjson中的值 如果该路径不存在,则创建该路径并赐予‘‘空值

//根据InPath路径,查询mcjson中的值 如果该路径不存在,则创建该路径并赐予空值 // InJson json数据 //查询json路径格式 InPath:601988\策略名1\日期5\参数2; function TForm1.GegMcJsonValue(var InJson:TMcJsonItem;InPath:string): Variant; var // InJson: TMcJsonIte…

thinkphp5漏洞分析之文件包含

目录 一、环境 二、开始研究 三、漏洞分析 四、漏洞修复 五、攻击总结 一、环境 thinkphp官网下载 创建 application/index/view/index/index.html 文件,内容随意(没有这个模板文件的话,在渲染时程序会报错) 二、开始研究 创…

计算机网络之IPv4深度解析

一.IP地址 IP地址的组成方式:网络号 主机号 可以这样理解,根据网络号找路由器,根据主机号找连着路由器的主机 早期分类的IP地址 表示如下: 其中,有些特殊的IP地址: 主机号全为0,表示本网…

HTML组件上传

<!doctype html> <html> <head> <meta charset"utf-8"> <title>无标题文档</title> </head><fieldset style"width: 200px"><legend>文本组建上传</legend><form action"#" me…