SpringMVC中,Controller等是否是线程安全的

 时间:2024-10-14 00:25:35

1、首先,搭建好Spring项目。然后创建对应的Controller、UserService和UserDao类。这里,Controller、UserService和UserDao都定义了自己的变量,分别为a、us和ud。这里,Controller、UserService和UserDao都采用了单例模式。

SpringMVC中,Controller等是否是线程安全的SpringMVC中,Controller等是否是线程安全的SpringMVC中,Controller等是否是线程安全的

5、我们对Controller进行ThreadLocal改进(如上图所示),改进后,依然按照先Firefox后Chrome的顺序进行访问:可以看出,a值现在已经是独立的了,Firefox和Chrome各自拥有自己的a值。而没有使用ThreadLocal改造的UserDao和UserService依然存在线程安全问题。

SpringMVC中,Controller等是否是线程安全的

6、ThreadLocal用于改造Session的一个经典例子:private static final ThreadLocal threadSession = new ThreadLocal();public static Session getSession() throws InfrastructureException { Session s = (Session) threadSession.get(); try { if (s == null) { s = getSessionFactory().openSession(); threadSession.set(s); } } catch (HibernateException ex) { throw new InfrastructureException(ex); } return s;}

  • CentOS7 挂载U盘
  • 痰中带血丝是怎么回事
  • 怎么选择好的SSD固态硬盘?看品牌、颗粒、主控
  • LCUSB-131A 系列 CAN 卡的选型指导和引脚定义
  • 纳米汗蒸与传统火龙浴汗蒸
  • 热门搜索
    丁丁旅游香港站 止锚湾旅游攻略 井岗山旅游 浙江千岛湖旅游攻略 玉树旅游 河南旅游公司 国内的旅游胜地 獐岛旅游 文县旅游 宁波旅游景点介绍