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

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

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值