当前位置: 首页 > 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.hkea.cn/news/14573381/

相关文章:

  • 汨罗网站建设门户类网站建设
  • 免费建立英文网站百度一下官方网页版
  • 企业为什么做平台网站网上商城开发设计
  • 免费注册个人网站不花钱字体WordPress
  • 综合网站设计珠海中国建设银行招聘信息网站
  • 快速做网站费用名城苏州网首页
  • 儋州网站建设制作中华室内设计网招聘
  • 开发手机网站多少钱ui交互设计是什么
  • 微网站html5模板驻马店阿里巴巴做网站
  • 中国有名的模版网站江西住房和城乡建设部网站首页
  • 网站安全管理制度江苏省住房与城乡建设厅网站首页
  • 智能免费建站如何生成一个网站
  • 网站可以几个服务器昆山优化外包
  • 光电工程东莞网站建设flash相册网站源码
  • 无锡自助做网站青岛新闻最新消息
  • 足球网站模板下载seo论坛的网址
  • 六盘水市诚信网站建设公司制作报价网站
  • 手机网站怎么dw做深圳企业网站哪家强
  • 营销型网站建设必备功能html5开发wap网站
  • 临颖网站建设h5招聘模板免费
  • 怎样推广网站平台网站 外包方案
  • dede网站名称不能中文免费行情软件网站下载安装
  • 常州免费网站建设服装网站建设市场分析
  • 网站的优化外包网站服务器自己做
  • asp+php+mysql+aspx环境搭建与6种网站安装2深圳专业制作网站的公司哪家好
  • 建设企业网站作用网站建设公司专业网站费用报价
  • 渭南 网站建设贵州省住房和城乡建设厅网站(
  • 实用网站设计步骤企业招聘网站
  • 网站开发的重点难点wordpress域名文件夹
  • 瑞安 网站建设wordpress主题handsome