Spring Boot注解总结

@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

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

相关推荐
3***C7444 小时前
Spring Boot 整合 log4j2 日志配置教程
spring boot·单元测试·log4j
tg-zm8899964 小时前
2025返利商城源码/挂机自动收益可二开多语言/自定义返利比例/三级分销理财商城
java·mysql·php·laravel·1024程序员节
X***C8624 小时前
SpringBoot:几种常用的接口日期格式化方法
java·spring boot·后端
i***t9194 小时前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端
前端达人4 小时前
你的App消息推送为什么石沉大海?看Service Worker源码我终于懂了
java·开发语言
小光学长4 小时前
基于ssm的宠物交易系统的设计与实现850mb48h(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·前端·数据库
编程大师哥4 小时前
vxe-table 透视表分组汇总及排序基础配置
java
8***84825 小时前
spring security 超详细使用教程(接入springboot、前后端分离)
java·spring boot·spring
o***74175 小时前
基于SpringBoot的DeepSeek-demo 深度求索-demo 支持流式输出、历史记录
spring boot·后端·lua
9***J6285 小时前
Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
java·spring boot·后端