当前位置: 首页 > 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.pierceye.com/news/647389/

相关文章:

  • 国外开源 企业网站服务好质量好的网站制作
  • sql网站的发布流程品牌建设是什么意思
  • 营口网站建设价格江苏住房和建设厅网站
  • 网站稳定性不好的原因打金新开传奇网站
  • 做网站怎么上传图片厦门建站网址费用
  • 网站设计方案和技巧做设计有必要买素材网站会员吗
  • 成都制作网站软件网站别人帮做的要注意什么东西
  • 徐州建筑网站建网站要自己买服务器吗
  • 网站订单系统模板专业的做网站公司
  • 怎么做加盟美容院网站黄骅港开发区
  • 品牌高端网站制作官网做网站用的小图标
  • 成都网站设计合理柚v米科技泉州建设公司
  • 网页制作与网站建设完全学习手册软件下载网站怎么做
  • linux系统网站空间如何分析网站关键词
  • 以下属于网站页面设计的原则有查询网站空间商
  • 建设银行网站链接网络推广有哪些常见的推广方法
  • 常州网络公司网站图片在线制作加字
  • 漕泾网站建设建立内部网站
  • 海宁市住房和城乡规划建设局网站北京十大装饰装修公司
  • 创新的常州做网站网站页面设计公司电话
  • 建站公司见客户没话说周年庆网站要怎么做
  • 建设银行网站字体建设官方网站
  • 建设部网站人员查询商城网站 没有什么文章 怎样优化
  • wordpress按标签筛选广州seo网站
  • 南宁手机建站公司常德网站开发服务
  • 智能锁东莞网站建设php网站开发需要学什么软件
  • 扒网站样式中国搜索网站排名
  • 网站空间和云服务器建设建材网站费用
  • 公司网站 正式上线wordpress 移动端不显示
  • 旅行网站排名前十名网站检测报告哪里做