java初探(1)之秒杀项目总结】的更多相关文章

在开始总结之前,先记录一个刚看到的博客,编程规约.该博客记录了一些java开发上的规范,可以在编码的时候引入这些规范. 无论流行框架一直怎么改变,web开发中的三层架构一直属于理论的基础存在. 表现层 -> 业务层 -> 持久层 箭头所指的方向就是层之间调用的方向,在SSM框架中,利用springmvc来实现表现层,利用spring来实现业务层,用mybatis来实现持久层. 简单来说,一个web网站的开发,首先明确需求以后,要先设计与需求有关的各种数据表,针对秒杀案例,用户登录网站,查看秒杀…
作者:nnngu 项目源代码:https://github.com/nnngu/nguSeckill 这是一个整合IDEA+Maven+SSM框架的高并发的商品秒杀项目.我们将分为以下几篇文章来进行详细的讲解: 01 Java高并发秒杀项目之业务分析与DAO层 02 Java高并发秒杀项目之Service层 03 Java高并发秒杀项目之web层 04 Java高并发秒杀项目之高并发优化 项目的效果图 秒杀商品列表 开始秒杀提示界面 秒杀结束提示界面 新建一个Maven项目 以IntelliJ…
作者:nnngu 项目源代码:https://github.com/nnngu/nguSeckill 首先在编写Service层代码前,我们应该首先要知道这一层到底是干什么的. Service层主要负责业务模块的逻辑应用设计.同样是首先设计接口,再设计其实现的类,接着在Spring的配置文件中配置其实现的关联.这样我们就可以在应用中调用Service接口来进行业务处理.Service层的业务实现,具体要调用到已定义的dao层的接口,封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复…
Github:https://github.com/nnngu 项目源代码:https://github.com/nnngu/nguSeckill 前端交互流程设计 对于一个系统,需要产品经理.前端工程师和后端工程师的参与,产品经理将用户的需求做成一个开发文档交给前端工程师和后端工程师,前端工程师为系统完成页面的开发,后端工程师为系统完成业务逻辑的开发.对于我们这个秒杀系统,它的前端交互流程设计如下图: 这个流程图就告诉了我们详情页的流程逻辑,前端工程师根据这个流程图设计页面,而我们后端工程师根…
SpringBoot构建电商基础秒杀项目 学习笔记 修改 DOMapper 在 UserPasswordDOMapper.xml 添加: <select id="selectByUserId" parameterType="java.lang.Integer" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> f…
SpringBoot构建电商基础秒杀项目 学习笔记 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 maven 整合了所有的 jar 包, Spring Boot 整合了所有的框架,并通过一行简单的 main 方法启动应用 使用 IDEA 新建 maven-archetype-quickstart 项目 添加 Spring Boot 依赖 <parent> <groupId>org.springframework.boot</groupId…
前言 终于,java初探系列的学习,要告一阶段了,java初探系列在我的计划中是从头学java中的第一个阶段,知识主要涉及java的基础知识,所以在笔记上实在花了不少的功夫.虽然是在第一阶段上面花费了大量的时间,但切实将这些知识学习到了,而不再是囫囵吞枣似的,似懂非懂.接下来我会根据个人的学习体会,将这个阶段的知识大致从新整理一下,给大家提供参考,也当是自己对这个阶段的总结,准备投入到下一个阶段你的学习了. 先后顺序将以适合学习的顺序归纳总结. 初学java时应当了解到的一些基本知识 [知识向]…
20175324王陈峤宇 2018-2019-2<Java程序设计>结对编程项目-四则运算 第一周 阶段性总结 需求分析 这次的结对作业是要求我们利用栈来设计一个计算器. 自动生成四则运算的题目(加.减.乘.除) 需要实现计算结果的输出 将正确的计算结果与用户输入的计算结果进行比较得出最终的正确率 因为现在编写的程序还有很多问题,我以为后续还可以完善一下程序,可以加入括号,可以比较正确与否 设计思路 现在得到的程序还是存在一定的问题,比如只能输出正确的结果但还没有办法实现将正确的计算结果和用户…
20175229许钰玮 2018-2019-2<Java程序设计>结对编程项目-四则运算 第一周 阶段性总结 需求分析 自动生成四则运算题目(加.减.乘.除). 既可以用前缀算法(波兰算法)实现加减乘除也可以用后缀算法实现. 支持复合运算. 设计思路 首先我们先实现前缀表达式的方法,通过阅读材料大致了解到如下方法: 前缀表达式的计算机求值: 从右至左扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(栈顶元素 op 次顶元素),并将结果入栈:重复…
码云链接 https://gitee.com/A5320/pair_programming_code 需求分析 实现一个命令行程序,要求: 1.自动生成小学四则运算题目(加.减.乘.除) 2.支持整数 3.支持多运算符(比如生成包含100个运算符的题目) 4.支持真分数 5.统计正确率 从题目要求可知,我们需要实现以下几个功能: 1.随机生成个四则运算题目,并可手动控制生成的题目数目 2.能将计算的结果转化为分数 3.自动计算生成题目的结果,并能判断用户输入是否与运算结果相同 现阶段已实现要求2…
20175311胡济栋 2018-2019-2<Java程序设计>结对编程项目-四则运算 第二周 阶段性总结 需求分析 这是利用栈来设计一个计算器的第二阶段总结. 自动生成四则运算的题目(加.减.乘.除) 需要实现计算结果的输出 将正确的计算结果与用户输入的计算结果进行比较得出最终的正确率 之前编写的程序还有很多问题,比如说没有办法将用户的输入和最终的答案进行比较,没有统计出正确率等问题.这周主要对这些问题进行改进和升级,我们成功解决了这些问题,但是还是存在一些暂时没有解决的问题. 设计思路…
SpringBoot构建电商基础秒杀项目 学习笔记 系统架构 存在问题 如何发现容量问题 如何使得系统水平扩展 查询效率低下 活动开始前页面被疯狂刷新 库存行锁问题 下单操作步骤多,缓慢 浪涌流量如何解决 源码:spring-boot-seckill…
SpringBoot构建电商基础秒杀项目 学习笔记 新建表 create table if not exists promo ( id int not null auto_increment, promo_name varchar(64) not null default '', start_date datetime not null default '0000-00-00 00:00:00', end_date datetime not null default '0000-00-00 00…
SpringBoot构建电商基础秒杀项目 学习笔记 新建表 create table if not exists order_info ( id varchar(32) not null default '', user_id int not null default 0, item_id int not null default 0, item_price double(10, 2) not null default 0, amount int not null default 0, orde…
SpringBoot构建电商基础秒杀项目 学习笔记 ItemDOMapper.xml 添加 <select id="listItem" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from item order by sales desc </select> ItemDOMapper 添加 List<Item…
SpringBoot构建电商基础秒杀项目 学习笔记 新建数据表 create table if not exists item ( id int not null auto_increment, title varchar(64) not null default '', price double(10, 0) not null default 0, description varchar(500) null default '', sales int not null default 0, i…
SpringBoot构建电商基础秒杀项目 学习笔记 修改 UserModel 添加注解 public class UserModel { private Integer id; @NotBlank(message = "用户名不能为空") private String name; @NotNull(message = "性别不能不填写") private Byte gender; @NotNull(message = "年龄不能不填写") @Mi…
SpringBoot构建电商基础秒杀项目 学习笔记 userDOMapper.xml 添加 <select id="selectByTelphone" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from user_info where telphone = #{telphone,jdbcType=VARCHAR} </…
SpringBoot构建电商基础秒杀项目 学习笔记 UserService 添加 void register(UserModel userModel) throws BusinessException; UserServiceImpl 添加 @Override @Transactional // 事务操作 public void register(UserModel userModel) throws BusinessException { if(userModel == null){ thro…
SpringBoot构建电商基础秒杀项目 学习笔记 BaseController 添加 public static final String CONTENT_TYPE_FORMED = "application/x-www-form-urlencoded"; UserController 添加 需添加 @CrossOrigin 注解,解决跨域问题 @Autowired private HttpServletRequest httpServletRequest; @RequestMapp…
SpringBoot构建电商基础秒杀项目 学习笔记 定义通用的返回对象 public class CommonReturnType { // success, fail private String status; // status = success, data 内返回前端需要的 json数据 // status = fail, data 内使用通用的错误码格式 private Object data; public static CommonReturnType create(Object…
2017-2018-2 165X 『Java程序设计』课程 团队项目备选题目 结合本课程时间安排,以及同学们的专业和课程内容,制定了以下六个题目供各小组选择.如有其他项目方案设想,可自行与老师沟通.老师同意后亦可作为团队项目. --------CONTENTS-------- 题目一:黄金点游戏 题目二:RSA-DES混合密码功能模块 题目三:客户端-服务器安全信息传递系统 题目四:基于Android的文件加密系统 题目五:Schnorr身份识别协议的实现 题目六:数据库安全存储系统 题目一:黄…
前言 在我们的日常开发过程中,我们会经常性的使用到数字类型的数据,同时,也会有众多的对数字处理的需求,针对这个方面的问题,在JAVA语言中.提供解决方法的类就是数字处理类 java中的数字处理类包括: DecimalFormat类,用于格式化数字 Math类,为各种数学计算提供了工具方法 Random类,为java处理随机数问题提供了各种方法 BigInteger类与BigDecimal类,为java处理大数字提供了相应的数学运算操作方法. DecimalFormat类 数字的格式化在解决实际问…
<Java 程序设计>课堂实践项目 课后学习总结 String类的使用(sort) 目录 Linux命令(sort) 课堂实践 课后思考 学习老师的代码之后的思考:int与Integer java.util.Arrays类与java.util.Collections类中的sort()方法实现 学习反思及总结 Linux命令(sort) 『sort』:sort将文件/文本的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. 语法:sort(…
1.<Java 程序设计>课堂实践项目-命令行参数 2.<Java 程序设计>课堂实践项目-mini dc 3.<Java 程序设计>课堂实践项目-Arrays和String单元测试 4.<Java 程序设计>课堂实践项目-简易计算器 5.<Java 程序设计>课堂实践项目-类定义 6.<Java 程序设计>课堂实践项目-数据库 博客能修改的地方也就这么多了,大概就这么多补充的内容 博客都是在原来的基础上修改,并不是验收代码之后才知道…
<Java 程序设计>课堂实践项目类定义 课后学习总结 目录 改变 类定义实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改.     加了一些类定义相关的拓展的内容,图片等都是再次运行之后截得细致的图片,电脑上也有原图. 类定义实验要求 设计并实现一个Book类,定义义成Book.java,Book 包含书名,作者,出版社和出版日期,这些数据都要定义getter和setter.定义至少三个构造方法,接收并初始化这些数据.覆盖(Ove…
<Java 程序设计>课堂实践项目简易计算器 课后学习总结 目录 改变 简易计算器实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改.     加了一些类定义相关的拓展的内容,图片等都是再次运行之后截得细致的图片,电脑上也有原图. 简易计算器实践要求 提交测试码云链接和测试截图(测试不要和下面的示例相同),加上学号信息 实现一个简易计算器Calc,支持+ - x / 和%运算, 从命令行传入计算数据,比如: java Calc 2 +…
<Java 程序设计>课堂实践项目-Arrays和String单元测试 课后学习总结 目录 改变 Arrays和String单元测试实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,改变了之前贴个截图粘个代码就糊弄完的观念,这次布局和内容都有修改.     补充了部分没有讲过的测试类的样例,图片等都是再次运行之后截得细致的图片,电脑上也有原图. Arrays和String单元测试实践要求 问:在IDEA中以TDD的方式对String类和Arrays类进行学习- 测试相关方法的正常,错…
目录 一.Java环境的安装 1.下载 2.安装 3.配置环境变量 二.Tomcat的安装 1.下载 2.安装 3.启动Tomcat(默认已经安装好java环境,如果未安装java会报错.) 三.MySQL数据库的安装 1.下载 2.安装 3.配置环境变量 4.生成data文件 5.启动服务 6.解决启动服务失败(报错) 7.登录mysql 8.查询用户密码 9.设置(或修改)root用户密码 四.项目在eclipse-jee中导入并运行 1.从码云中导入该项目 2.添加tomcat服务器 3.…
20155308 2016-2017-2<Java程序设计>课堂实践项目 在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: 1.如果用"."作为分隔的话,必须是如下写法,String.split("\."),这样才能正确的分隔开,不能用String.split("."); 2.如果用"|"作为分隔的话,必须是如下写法,String.spl…