Java注解整理

由于工作中突然需要用到Java去写工程,而对于一些Spring和SpringBoot注解我又不清楚,因此把实际工程中碰到的注解都总结起来,方便记忆以及后续查阅。也会收藏一些我觉得写的比较好的文章。如有错误,欢迎指正。如有侵权,给您造成不便,麻烦您联系我删除,谢谢。


1.@RestController,@Controller以及@ResponseBody注解

@ResponseBody:表示处理函数直接将函数的返回值传到浏览器端显示。

@Controller:表示的是一个处理HTTP请求的控制器(即MVC中的C)

@RestController=@ResponseBody+@Controller

使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面

若返回json等内容到页面,则需要加@ResponseBody注解。但是无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用。

简单介绍参考:https://www.cnblogs.com/shuaifing/p/8119664.html


@RequestMapping以及@GetMapping

@RequestMapping("/"):实际为@RequestMapping("/",method = RequestMethod.GET),默认调用的是GET请求。

@GetMapping等价于@RequestMapping

实际上@RequestMapping("/")是@RequestMapping("/",method = RequestMethod.GET)的简写,即可以通过method属性,设置请求的HTTP方法。比如PUT /hello请求,对应@RequestMapping("/hello",method = RequestMethod.PUT)

Spring MVC最新的版本中提供了一种更加简洁的配置HTTP方式,增加了四个标注:

  • PutMapping
  • GetMapping
  • PostMapping
  • DeleteMapping

@PathVariable注解:直接用例子来看,即可以得到前端请求的变量的值

@RequestMapping("/users/{username}")
    @ResponseBody
    public String userProfile(@PathVariable("username") String username)

@RequestParam,与@PathVariable的区别:@PathVariable获取的前端传过来的变量值需要在@RequestMapping请求的路径上面标明。但是@RequestParam不用,它用的是变量名=具体值的方式来标明。

主要可以参考该文章http://www.cnblogs.com/zhlblogs/p/9553491.html


@Autowired注解

@Autowired 注释:它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。


@RequestBody

在使用springmvc的时候,后台@RequestBody接收的一定是一个json格式的字符串,常用于PostMapping请求当中。实际工作时,一般前后端都会先定义好要传过来的内容。如果是一个Map,就通过get键值的方式获取相应的值。如果是基本数据类型,就直接定义一个像他类型的基本数据类型接收即可。

详细可参考文章:https://blog.csdn.net/justry_deng/article/details/80972817

https://www.jianshu.com/p/4981911d5e15

 


 

@RequestParam注解

之前对这个的理解一直以为只能用于Get请求,然后内容都是在请求的路径的?后面的内容,后面才知道原来Post请求也可以使用,请求的值是在form-data当中。例子如下:

可参考文章:http://www.cnblogs.com/zhlblogs/p/9553491.html


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值