内容简介:上述代码是觉见的代码,为了使用方便,使用Autowire注入成员变量request后,直接在controller的方法中使用request。由于controller默认是单例的,那么是否会有线程安全问题呢?在框架初始IOC的时候是创建了一个Request对象的代理类,从而完成了初始注入,代理类负责从ThreadLocal中获取真正的Request对象并调用相应的方法,每次调用代理request的方法都相当于调用了该次请求真正的request对象的方法,因此不产生线程安全的问题。
阅读更多
@RestController
public class MyController{
@Autowire
HttpServletRequest request;
@RequestMapping("/test")
public String test(){
String param = request.getParameter("param");
//request.getHeader("uid");
return param;
}
}
上述代码是觉见的代码,为了使用方便,使用Autowire注入成员变量request后,直接在controller的方法中使用request。由于controller默认是单例的,那么是否会有线程安全问题呢?
在框架初始IOC的时候是创建了一个Request对象的代理类,从而完成了初始注入,代理类负责从ThreadLocal中获取真正的Request对象并调用相应的方法,每次调用代理request的方法都相当于调用了该次请求真正的request对象的方法,因此不产生线程安全的问题。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Python多线程-共享全局变量
- c# – 线程安全和局部变量
- Hystrix 跨线程共享变量 原 荐
- Python的ThreadLocal(线程本地变量)实现
- C++多线程中的锁和条件变量使用
- 并发原理抽丝剥茧,线程本地变量 ThreadLocal 的实现原理
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java从入门到精通
魔乐科技MLDN软件实训中心 / 人民邮电出版社 / 2010-4 / 59.00元
《Java从入门到精通》主要内容涵盖Java应用程序的创建及语言特点,Java开发工具Eclipse的使用,类和对象,Java程序异常处理,Java多线程,Java网络程序设计和Java数据库编程等,并通过五子棋和人事管理系统的设计两大项目讲解Java实用操作。《Java从入门到精通》在DVD光盘中赠送了Java SE类库查询手册,Java程序员职业规划,Java开发经验及技巧大汇总等丰富资源,包......一起来看看 《Java从入门到精通》 这本书的介绍吧!