当前位置: 首页 > news >正文

响应式网站设计欣赏aso优化榜单

响应式网站设计欣赏,aso优化榜单,做电容元器件的网站有哪些,电商网站开发详细介绍Spring 将 JDBC 的 Connection、Hibernate 的 Session 等访问数据库的连接或者会话对象统称为资源#xff0c;这些资源在同一时刻是不能多线程共享的 。 为了让 DAO 或 Service 类可以实现单例模式#xff0c; Spring 的事务同步管理类 org.springframework.transaction.supp… Spring 将 JDBC 的 Connection、Hibernate 的 Session 等访问数据库的连接或者会话对象统称为资源这些资源在同一时刻是不能多线程共享的 。 为了让 DAO 或 Service 类可以实现单例模式 Spring 的事务同步管理类 org.springframework.transaction.support.TransactionSynchronizationManager 利用 ThreadLocal 为不同的事务线程提供了独立的资源副本并同时维护这些事务的配置属性和运行状态信息 。 Spring 框架为不同的持久化技术提供了一套从 TransactionSynchronizationManager 中获取对应线程绑定资源的工具类这些工具类都提供了可以获取绑定当前线程资源的静态方法 持久化技术线程绑定资源获取工具静态方法Spring JDBC 或 MyBatisorg.springframework.jdbc.datasource.DataSourceUtilspublic static Connection getConnection(DataSource dataSource)HibernateX.0org.springframework.orm.hibernateC.SessionFactoryUtilspublic static Session getSession(SessionFactory sessionFactory, boolean allowCreate)JPAorg.springframework.orm.jpa.EntityManagerFactoryUtilspublic static EntityManager getTransactionalEntityManager(EntityManagerFactory emf)JDOorg.springframework.orm.jdo.PersistenceManagerFactoryUtilspublic static PersistenceManager getPersistenceManager(PersistenceManagerFactory pmf, boolean allowCreate)某些场景下可能无法使用 Spring 提供的模板类。这时就必须通过操作底层持久化技术所提供的原生 API 而这就需要通过这些工具类来获取线程绑定的资源。如果直接从 DataSource 或 SessionFactory 中获取资源那么就无法让数据操作参与到与本线程相关的事务环境因为这些对象不能获取和当前线程相关的资源。 TransactionSynchronizationManager 源码如下 public abstract class TransactionSynchronizationManager {private static final Log logger LogFactory.getLog(TransactionSynchronizationManager.class);private static final ThreadLocalMapObject, Object resources new NamedThreadLocalMapObject, Object(Transactional resources);private static final ThreadLocalSetTransactionSynchronization synchronizations new NamedThreadLocalSetTransactionSynchronization(Transaction synchronizations);private static final ThreadLocalString currentTransactionName new NamedThreadLocalString(Current transaction name);private static final ThreadLocalBoolean currentTransactionReadOnly new NamedThreadLocalBoolean(Current transaction read-only status);private static final ThreadLocalInteger currentTransactionIsolationLevel new NamedThreadLocalInteger(Current transaction isolation level);private static final ThreadLocalBoolean actualTransactionActive new NamedThreadLocalBoolean(Actual transaction active);... } 复制代码事务线程成员变量说明resourcesConnection 或 Session 等资源currentTransactionName事务名称currentTransactionReadOnly事务只读状态currentTransactionIsolationLevel事务隔离级别actualTransactionActive事务激活状态TransactionSynchronizationManager 将 Dao、Service 类中影响线程安全的所有 “ 状态 ” 都统一抽取到该类中并用 ThreadLocal 进行封装这样一来 Dao 基于模板类或资源获取工具类创建的 Dao 和 Service 采用 Spring 事务管理机制就变成线程安全的对象啦 O(∩_∩)O~ 转载于:https://juejin.im/post/5c97117d5188252d59100dac
http://www.zqtcl.cn/news/647389/

相关文章:

  • 学校网站怎么建设兄弟网络(西安网站建设制作公司)
  • 长春市城乡建设局网站photoshop破解版下载免费中文版
  • 吕梁网站设计天津高端网页制作
  • 建一个网站做cpa联盟做淘客的网站都有哪几个
  • 中国建设银行网站对公业务wordpress 文章归档页面
  • 东软 网站群平台建设用个人电脑做网站服务器
  • 音乐播放网站开发pc端营销网站的关键字
  • 江门网站推广宿州官方网站建设
  • 企业网站建设策划书范文江苏高端网站建设
  • 网站开发 浏览器济宁网站建设服务
  • 整套网站建设网站开发中如何实现gps定位
  • 网站建设计划表福州自助建站
  • 网站做的比较好的公司吗2017年做网站多少钱
  • 基础展示营销型型网站重庆百度总代理
  • 网站建设 技术可行性这是我自己做的网站
  • 西安网站策划关键词优化哪家好
  • 能看建设动漫黄图的网站海外仓一件代发平台
  • 做网站都需要了解什么大连福佳新城2026年建站吗
  • php 网站部署到服务器泉州模板建站哪家好
  • 网站服务器上的跳转选择怎么做网站是怎么建立的
  • 网站后台目录如何保护公司网站建设需要要求什么软件
  • 四川省建设厅网站官网自己做的网站能上传到凡科吗
  • 米拓网站建设-app定制开发免费个人建站系统
  • 网站改版公司如何帮公司做网站
  • 曹县汽车网站建设网站怎么做才 吸引人
  • 河南周口东宇网站建设wordpress怎么重新安装插件
  • wordpress无法上传主题南通做网站优化公司
  • 做彩票网站能挣到钱吗南充市房产信息网
  • 沧州北京网站建设金华网站建设哪个公司好点
  • 北京朝阳建站优化wordpress主题访问慢