Spring的复杂性不是来自于它处理的对象,而是来自于自身,不断演进发展的Spring会带来时间维度上复杂性,比如SpringMVC以前版本的*@RequestMapping*,到了新版本被下面新注释替代,相当于增加的选项:
- @GetMapping
- @PostMapping
- @PutMapping
- @DeleteMapping
- @PatchMapping
从命名约定我们可以看到每个注释都是为了处理各自的传入请求方法类型,即*@GetMapping用于处理请求方法的GET类型,@ PostMapping用于处理请求方法的POST*类型等。
如果我们想使用传统的*@RequestMapping*注释实现URL处理程序,那么它应该是这样的:
@RequestMapping(value = “/get/{id}”, method = RequestMethod.GET)
新方法可以简化为:
@GetMapping(“/get/{id}”)
如何工作?
所有上述注释都已在内部注释了*@RequestMapping以及方法*元素中的相应值。
例如,如果我们查看*@GetMapping注释的源代码,我们可以看到它已经通过以下方式使用RequestMethod.GET*进行了注释:
@Target({ java.lang.annotation.ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@RequestMapping(method = { RequestMethod.GET })
public @interface GetMapping {
// abstract codes
}
所有其他注释都以相同的方式创建,即*@PostMapping使用RequestMethod.POST进行注释,@ PutMapping使用RequestMethod.PUT进行*注释等。
代码示例
BuyerProductController
/** * 买家商品 * Created by 李柏霖 * 2020/10/17 20:11 */
package com.lbl.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/buyer/product")
public class BuyerProductController {
@GetMapping("/list")
public void list(){
}
}
今天的文章@getmapping注解的作用_postconstruct注解的作用分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/71339.html