ITPub博客

首页 > 应用开发 > > springboot中的controller会有缓存吗?

springboot中的controller会有缓存吗?

作者:penny_liang 时间:2019-08-15 16:07:53 0 删除 编辑

开发中遇到一个问题:有个小伙伴在controller中定义了一个私有的全局变量:id,想在请求add方法时给id赋值,然后在请求update方法时拿过来用。因为我们开发的是B/S的项目,他竟然做到了,这让我感到很惊讶。之前从没遇到过这种问题啊。这样明显不对啊。在高并发的时候,这个id可以被N个人修改,然后最后被修改的值又被N个人拿过来使用。明显会有问题。

所以后来我怀疑跟controller的生命周期有关,也许这个controller被sprint托管后,就一直存在。

具体的原理是什么?麻烦热心人解答下,谢谢。

代码如下:

@RestController

@RequestMapping("/test")

public class TestController {

private Long id;

@PostMapping("/update")publicResponseModelupdate(){

System.out.println(this.id);

return null;

}@GetMapping("/add")publicResponseModeladd(Long id){

this.id = id;

System.out.println(this.id);

return null;

}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/714/viewspace-3153144/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-12

  • 博文量
    189
  • 访问量
    1735