-
spring-ioc注入方式和场景查看全部
-
事务开发注意: 1.保证事务内部执行的时间足够短,不穿插费时的操作,如RPC/HTTP等,原因尽可能减少update时db行级锁对数据的block 2.建议使用注解方式声明Spring事务,原因是可以自由控制事务体粒度查看全部
-
哈哈查看全部
-
生成md5查看全部
-
事务方法嵌套查看全部
-
声明式事务使用方式查看全部
-
spring与service的依赖管理需配置以下部分, 1、在spring文件下新建spring-service.xml ,只需添加 <context:component-scan base-package="org.seckill.service"/> 2、在service的impl类中添加annotation。首先为class添加@service,其次为初始化对象,如private SeckillDao seckillDao添加@Autowired查看全部
-
java异常分编译期异常和运行期异常,运行期异常不需要手工try-catch,spring的的声明式事务只接收运行期异常回滚策略,非运行期异常不会帮我们回滚查看全部
-
接口的设计应该站在使用者的角度,而不是想着去实现。 主要从三个方面:方法定义粒度、参数、返回类型。 返回类型尽量避免返回map类型查看全部
-
不同层面做不同的事情查看全部
-
Spring—IOC注入方式和场景查看全部
-
spring IOC 功能理解查看全部
-
集成测试代码: ----/** -----* 集成测试:秒杀完整流程,可重复执行 -----*/ -----@Test -----public void testSeckillLogic() { --------long id = 1001; --------Exposer exposer = seckillService.exportSeckillUrl(id); --------LOG.info("exposer={}",exposer); --------if (exposer.isExposed()) { ------------long phone = 15821739225L; ------------String md5 = exposer.getMd5(); ------------try { ----------------SeckillExecution seckillExecution = seckillService.executeSeckill(id, phone, md5); ----------------LOG.info("result={}",seckillExecution); ------------} catch (RepeatKillException e) { ----------------LOG.error(e.getMessage()); ------------} catch (SeckillCloseException e) { ----------------LOG.error(e.getMessage()); ------------} --------} else { ------------LOG.warn("秒杀未开始:{}",exposer.toString()); --------} -----}查看全部
-
使用注解控制事务的优点:(xml配置是秒杀杀手)秒杀的瓶颈在哪里? 1.开发团队达成一致约定,明确标注事务方法的编程风格. 2.保证事务方法的执行时间尽可能短,不要穿插其他网络操作RPC/HTTP请求或者剥离到事务方法外部.保证实务操作干净清晰. 3.不是所有的方法都需要事务.如只有一条修改操作的,只读操作不需要事务控制。(mysql行级锁)查看全部
-
声明式事务目的在于解脱繁琐的关于事务的代码,在实际的开发中,不需要关心事务的开启、提交、回滚、关闭等等,而是直接交由第三方框架托管,比如spring。 本例推荐使用第三种基于注解的声明式事务的方法,这种方式的优点在于,当看到@Transcation注解的时候知道这是一个与事务有关的方法,此时就会自觉遵守一些关于事务开发的规范,有利于程序的进一步维护。查看全部
举报
0/150
提交
取消