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

中国建设银行网站首页签约电商网站开发需要掌握哪些知识技能

中国建设银行网站首页签约,电商网站开发需要掌握哪些知识技能,wordpress发邮件收到不到邮件,wordpress 文件列表目录 Spring事务简介 Spring支持事务管理的两种方式 编程式事务控制 声明式事务管理 Spring事务角色 未开启事务之前 开启Spring的事务管理后 事务配置 事务传播行为 事务传播行为的可选值 Spring事务简介 事务作用#xff1a;在数据层保障一系列的数据库操作同成功…目录 Spring事务简介 Spring支持事务管理的两种方式 编程式事务控制 声明式事务管理 Spring事务角色  未开启事务之前 开启Spring的事务管理后 事务配置 事务传播行为 事务传播行为的可选值 Spring事务简介 事务作用在数据层保障一系列的数据库操作同成功同失败 Spring事务作用在数据层或业务层保障一系列的数据库操作同成功同失败 需要注意的是 程序是否支持事务首先取决与数据库比如使用MySQL的且选择的是innodb引擎那么是可以支持事务的。但是如果选择的是myisam引擎的话那么从根本上就是不支持事务的即使Spring中设置了事务也不会生效。 Spring支持事务管理的两种方式 编程式事务控制 在源代码中编辑事务的逻辑流程也就是在代码中设置动态信息开启事务提交事务回滚事务 编程式事务控制通过TransationTemplate或者TransactionManager手动管理事务 声明式事务管理 实际是通过AOP实现且基于Transactional的全注解的方式也是使用最多的 使用声明式事务官的实现步骤 步骤一在需要被事务管理的方法上添加注解 Transactional可以写在接口类上、接口方法上、实现类上和实现类方法上 写在接口类上该接口的所有实现类的所有方法都会有事务 写在接口方法上该接口的所有实现类的该方法都会有事务 写在实现类上该类中的所有方法都会有事务 写在实现类方法上该方法上有事务 建议写在实现类或实现类的方法上 步骤二在jdbcConfig类中配置事务管理器 //配置事务管理器mybatis使用的是jdbc事务 Bean public PlatformTransactionManager transactionManager(DataSource dataSource){DataSourceTransactionManager transactionManager new DataSourceTransactionManager();transactionManager.setDataSource(dataSource);return transactionManager; } 注意事务管理器要根据使用技术进行选择Mybatis框架使用的是JDBC事务可以直接使用DataSourceTransactionManager   步骤三开启事务注解 在SpringConfig的配置类中开启 Configuration ComponentScan(com.itheima) PropertySource(classpath:jdbc.properties) Import({JdbcConfig.class,MybatisConfig.class //开启注解式事务驱动 EnableTransactionManagement public class SpringConfig { } 设置好后运行测试类就可以发现当业务出现错误后事务就可以控制回滚保证数据的正确性 Spring事务角色  未开启事务之前 AccountDao 的outMoney因为是修改操作会开启一个事务T1AccountDao 的inMoney因为是修改操作会开启一个事务T2AccountService的transfer没有事务 执行后如果运行过程中没有抛异常则T1heT2都正常提交数据正确 如果两个方法中出现异常T1执行成功提交事务但T2因为抛异常不会执行则就导致数据出现错误 开启Spring的事务管理后 transfer上添加了Transactional注解在该方法上就会有一个事务T AccountDao的outMoney方法的事务T1加入到transfer的事务T中 AccountDao的inMoney方法的事务T2加入到transfer的事务T中 这样就保证他们在同一个事务中当业务层中出现异常整个事务就会回滚保证数据的准确性。 由上述可知 事务管理员发起事务方在Spring中通常指代业务层开启事务方法事务协调员加入事务方在Spring中通常指代数据层方法也可以是业务层方法 注意目前的事务管理是基于DataSourceTransactionManager和SqlSessionFactoryBean使用的是同一个数据源。 事务配置 以上这些属性都可以在Transactional注解的参数上进行设置 readOnlytrue只读事务false读写事务增删改要设为false,查询设为true。 timeout:设置超时时间单位秒在多长时间之内事务没有提交成功就自动回滚-1表示不设置超时时间。 rollbackFor:当出现指定异常进行事务回滚 noRollbackFor:当出现指定异常不进行事务回滚 并不是所有的异常都会回滚事务所以需要rolbackFor的存在比如下列代码 Service public class AccountServiceImpl implements AccountService {Autowiredprivate AccountDao accountDao;Transactionalpublic void transfer(String out,String in ,Double money) throws IOException{accountDao.outMoney(out,money);//int i 1/0; //这个异常事务会回滚if(true){throw new IOException(); //这个异常事务就不会回滚}accountDao.inMoney(in,money);} 上述代码中不会出现回滚的的原因是 Spring的事务只会对Error异常和RuntimeException异常及其子类进行事务回滚其他的异常类型是不会回滚的对应IOException不符合以上的条件所以不回滚 此时就可以使用rollabckFor属性来设置出现IOException异常不回滚 Transactional(rollbackFor {IOException.class}) 此时 throw new IOException(); 这个异常事务就不会回滚 Transactional的常用配置参数 属性名说明propagation事务的传播行为默认值为 REQUIREDisolation事务的隔离级别默认值采用 DEFAULT可选的值 DEFAULT :默认隔离级别, 会采用数据库的隔离级别 READ_UNCOMMITTED : 读未提交 READ_COMMITTED : 读已提交 REPEATABLE_READ : 重复读取 SERIALIZABLE: 串行化 timeout事务的超时时间默认值为-1不会超时。如果超过该时间限制但事务还没有完成则自动回滚事务。readOnly指定事务是否为只读事务默认值为 false。true只读事务false读写事务增删改要设为false,查询设为true。rollbackFor用于指定能够触发事务回滚的异常类型并且可以指定多个异常类型。noRollbackFor事务的传播行为默认值为 REQUIRED可选的值在上面介绍过 事务传播行为 加入一个记录日志的功能事务T2也会加入到事务T中因为事务传播行为的默认值为REQUIRED所以此时虽然有Transaction开启了事务T2还是会加入到事务T中 若此时转账失败所有事务回滚导致日志中没有任何关于此次转账的信息这显然是不行的 此时需修改logService改变事务的传播行为通过Transaction中的可选属性进行配置 Autowired private LogDao logDao; //propagation设置事务属性传播行为设置为当前操作需要新事务 Transactional(propagation Propagation.REQUIRES_NEW) public void log(String out,String in,Double money ) {logDao.log(转账操作由out到in,金额money); } 事务传播行为的可选值
http://www.dnsts.com.cn/news/141141.html

相关文章:

  • 合肥建设管理学院网站wordpress本地环境搭建
  • 网站框架是怎么做的新手做电商怎么做
  • 网站建设服务好的商家找人做淘宝网站多少钱
  • 卖域名的网站公众号开发价格多少
  • 手机网站建设哪家优惠宁波妇科医院
  • 找人做任务网站有哪些夸克为啥被称为最污的浏览器
  • 新闻资讯型网站开发如何用wordpress搭建录播课程
  • 企业网站管理系统 免费深圳市宝安区天气预报
  • 网站建站专业网站设计公司模板下载
  • 河北房地产网站建设成crm网
  • 禅城网站建设价格做核酸检测收费标准
  • 个人网页设计模板网站wordpress提交与筛选
  • 校园文化建设图片网站推荐10个优秀的国外ui设计网站
  • 长沙设计网站多少钱做的比较好的返利网站知乎
  • 做网站各个流程济南网站建设选搜点网络
  • 玉器企业网站源码网站里的横幅广告怎么做
  • asp.net网站开发简介柯桥做网站有哪些公司
  • wdcp新建网站wordpress自动广告位
  • 上海市建设工程信息报送网站平台app开发制作
  • 工作做网站好的响应式网站有哪些
  • 网站建设费 大创汤阴有没有做网站的公司
  • 泰安网站建设制作免费网站正能量app应用大全
  • 非营利组织网站建设会计分录专业网站建设公司哪里济南兴田德润什么活动
  • 网站速度优化方案全新wordpress主题
  • 成都住房和城乡建设厅网站首页怎么屏蔽ip段访问网站
  • 网站域名的选择珠宝网站建设要以商为本
  • 西安哪家网络公司做网站天猫商城在线购物
  • wordpress 挂黑链搜索引擎优化seo优惠
  • 衡阳市做网站90设计网怎么样
  • zero的大型网站seo教程以前可以做视频的网站