秒杀Servlce接口设计
秒杀Servlce接口设计
1、创建service包,创建SecKillServlce业务接口
SecKillServlce.Java
|
package org.secKill.service; import java.util.List; /** |
建立dto包,创建暴露秒杀接口dto(数据传输层)
Exposer.java
|
package org.secKill.dto; /** public Exposer(boolean exposed, String md5, long secKillId) { public Exposer(boolean exposed, String md5, long start, long secKillId, long end) { public Exposer(boolean exposed, long secKillId) { public boolean isExposed() { public void setExposed(boolean exposed) { public String getMd5() { public void setMd5(String md5) { public long getSecKillId() { public void setSecKillId(long secKillId) { public long getStart() { public void setStart(long start) { public long getEnd() { public void setEnd(long end) { @Override |
创建包enums,创建枚举类型SecKillStateEnum.java使用枚举表述数据常量字典
SecKillStateEnum.java
|
package org.secKill.enums; /** SUCCESS(1, "秒杀成功"), END(0, "秒杀结束"), REPEAT_KILL(-1, "重复秒杀"), INNER_ERROR(-2, "系统异常"), DATA_REWRITE(-3, "数据篡改"); private int state; private String stateInfo; private SecKillStateEnum(int state, String stateInfo) { public int getState() { public String getStateInfo() { public static SecKillStateEnum stateOf(int index) { } |
在dto包内创建封装秒杀执行后结果类SecKillExecution.java
|
package org.secKill.dto; import org.secKill.entity.SuccessKilled; /** public SecKillExecution(long secKillId, SecKillStateEnum stateEnum , SuccessKilled successKilled) { } public SecKillExecution(long secKillId,SecKillStateEnum stateEnum) { public long getSecKillId() { public void setSecKillId(long secKillId) { public int getState() { public void setState(int state) { public String getStateInfo() { public void setStateInfo(String stateInfo) { public SuccessKilled getSuccessKilled() { public void setSuccessKilled(SuccessKilled successKilled) { |
创建包exception创建三个异常
创建SecKillException.java 秒杀执行异常
|
package org.secKill.exception; /** |
重复秒杀异常RepeatKillException.继承SecKillException.java
|
package org.secKill.exception; import org.secKill.dto.SecKillExecution; /** public RepeatKillException(String message, Throwable cause) { |
创建SecKillException.java,表示秒杀关闭异常
|
package org.secKill.exception; /** public SecKillCloseException(String message, Throwable cause) { |
秒杀Servlce接口设计的更多相关文章
- 高并发秒杀系统--Service接口设计与实现
[DAO编写之后的总结] DAO层 --> 接口设计 + SQL编写 DAO拼接等逻辑 --> 统一在Service层完成 [Service层的接口设计] 1.接口 ...
- SSM实战——秒杀系统之Service层接口设计与实现、Spring托管、声明式事务
一:Service层接口设计 准备工作:新建三个包:service包.exception包.dto包,分别用来存放业务接口.自定义异常类.dto类. 1:定义接口 package org.myseck ...
- 数据仓储之DLL层接口设计
一.接口设计 1.1. IBaseRepository.cs public interface IBaseRepository<T> { T Add(T entity); bool Upd ...
- RESTful接口设计原则/最佳实践(学习笔记)
RESTful接口设计原则/最佳实践(学习笔记) 原文地址:http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api 1 ...
- Web API接口设计经验总结
在Web API接口的开发过程中,我们可能会碰到各种各样的问题,我在前面两篇随笔<Web API应用架构在Winform混合框架中的应用(1)>.<Web API应用架构在Winfo ...
- Verilog学习笔记简单功能实现(七)...............接口设计(并行输入串行输出)
利用状态机实现比较复杂的接口设计: 这是一个将并行数据转换为串行输出的变换器,利用双向总线输出.这是由EEPROM读写器的缩减得到的,首先对I2C总线特征介绍: I2C总线(inter integra ...
- 优秀的API接口设计原则及方法(转)
一旦API发生变化,就可能对相关的调用者带来巨大的代价,用户需要排查所有调用的代码,需要调整所有与之相关的部分,这些工作对他们来说都是额外的.如果辛辛苦苦完成这些以后,还发现了相关的bug,那对用户的 ...
- atitit.基于http json api 接口设计 最佳实践 总结o7
atitit.基于http json api 接口设计 最佳实践 总结o7 1. 需求:::服务器and android 端接口通讯 2 2. 接口开发的要点 2 2.1. 普通参数 meth,p ...
- App接口设计
关于APP接口设计 http://blog.csdn.net/gebitan505/article/details/37924711/
随机推荐
- Window下,在TEMP路径下生成一个临时文件名
BOOL GetFullTempFileName(const TCHAR* strPrefix, std::wstring& strFullName) { TCHAR strTempFolde ...
- 动态修改settings
ide visual studio2010 注意范围是用户 注意改完要save
- github项目分享
unity 项目合集:https://michidk.github.io/Unity-Script-Collection/ ugui特效:https://github.com/mob-sakai/UI ...
- 简述移动端与PC端的区别
1.移动端与PC端的区别 PC考虑的是浏览器的兼容性,而移动端开发考虑的更多的是手机兼容性,因为目前不管是android手机还是ios手机,一般浏览器使用的都是webkit内核,所以说做移动端开发,更 ...
- python基础-12 多线程queue 线程交互event 线程锁 自定义线程池 进程 进程锁 进程池 进程交互数据资源共享
Python中的进程与线程 学习知识,我们不但要知其然,还是知其所以然.你做到了你就比别人NB. 我们先了解一下什么是进程和线程. 进程与线程的历史 我们都知道计算机是由硬件和软件组成的.硬件中的CP ...
- 第四周课程总结&试验报告
实验二 Java简单类与对象 实验目的 掌握类的定义,熟悉属性.构造函数.方法的作用,掌握用类作为类型声明变量和方法返回值: 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性 ...
- 第七周实验报告&课程总结
一.完成火车站售票程序的模拟. 要求: (1)总票数1000张: (2)10个窗口同时开始卖票: (3)卖票过程延时1秒钟: (4)不能出现一票多卖或卖出负数号票的情况. 代码: public cla ...
- 【mysql连接与mysqldump】INFORMATION_SESSION_VARIABLES feature is disabled
摘要: mysql5.7 客户端连接出现:INFORMATION_SESSION_VARIABLES feature is disabled问题: mysqldump: Couldn't execut ...
- 编译驱动Makefile解析
#ubuntu的内核源码树,如果要编译在ubuntu中安装的模块就打开这2个 #KERN_VER = $(shell uname -r) #KERN_DIR = /lib/modules/$(KERN ...
- kotlin学习(1)基础
所有笔记整理自电子工业出版社的<Kotlin实战>一书 变量声明: 类型放在变量名后面: val name:String="aaaa" ,String可以省略,因为可以 ...