09 2019 档案
校园商铺-4店铺注册功能模块-11店铺类别区域信息的获取
摘要:在js中用到的getshopinitinfo还未实现,现在实现这个方法 1 店铺类别 1.1 dao层 1.2 店铺类别mapper 1.3 店铺类别验证Dao 1.4 店铺类别Service层 1.5 Service实现层 1.6 Service验证 1.7 controller层 1.8验证co 阅读全文
posted @ 2019-09-30 03:07 singleSpace 阅读(496) 评论(0) 推荐(0)
校园商铺-4店铺注册功能模块-10店铺注册之js实现
摘要:1. 建立js目录和文件 1.1 建立js目录 在webapp下新建文件夹js,再在js目录下新建shop文件夹。 1.2 js文件 js的功能: 1.从后台获取到店铺分类、区域等是信息,将它填充到前台的html空间里面, 2.获取表单信息,将它转发到后台去注册店铺 所有的动作都是异步的,不影响用户 阅读全文
posted @ 2019-09-29 07:07 singleSpace 阅读(431) 评论(0) 推荐(0)
校园商铺-4店铺注册功能模块-9店铺注册之前端设计
摘要:1. UI库:SUI Mobile 前端知识存在短板,只能利用一些前端开发非常使用的UI库来弥补前端知识的不足,推荐SUI Mobile 官方介绍:SUI Mobile是轻量,小巧且精美的UI库,方便迅速搭建手机H5应用。满足了我们用一套模版来响应各种设备展示的需求。 特点:是自适应网页设计的框架。 阅读全文
posted @ 2019-09-29 00:14 singleSpace 阅读(531) 评论(0) 推荐(0)
校园商铺-4店铺注册功能模块-8店铺注册之Controller层的改造
摘要:不合理的地方: 1. 并不需要将InputStream转换成File类型,直接将InputStream传进入交给CommonsMultipartfile去处理就可以了 如果做这样的转换,每次都需要生成一个空白的文件,然后还需要向文件中写入请求传送过来的文件流,这样不仅仅产生很多垃圾文件,同时有可能造 阅读全文
posted @ 2019-09-27 20:18 singleSpace 阅读(457) 评论(0) 推荐(1)
校园商铺-4店铺注册功能模块-6店铺注册之Controller层的实现
摘要:1. 从request请求获取获取相关的值 HttpservletRequest request代表的是客户端的请求。当客户端通过http协议访问服务器的时候,http请求头中的所有信息,都封装在这个对象中,通过这个对象提供的方法,就可以获得客户端请求的所有信息。 以用户注册为例,当用户注册店铺时, 阅读全文
posted @ 2019-09-27 15:31 singleSpace 阅读(484) 评论(0) 推荐(0)
校园商铺-4店铺注册功能模块-5店铺注册之Service层的实现
摘要:1. 创建接口ShopService.java package com.csj2018.o2o.service; import java.io.File; import com.csj2018.o2o.entity.Shop; import com.csj2018.o2o.dto.ShopExecu 阅读全文
posted @ 2019-09-25 16:11 singleSpace 阅读(462) 评论(0) 推荐(0)
校园商铺-4店铺注册功能模块-4Dto之ShopExecution的实现
摘要:1. DTO:添加店铺的返回类型 问题:为什么不直接用实体类Shop呢? 原因:在操作Shop的时候,必然会有一个状态。添加店铺,添加成功,还是添加失败? 如果添加失败,失败是一个什么状态,这些都是要记录的,并且要返回controller层去处理。 1.1 店铺操作枚举类ShopStateEnum. 阅读全文
posted @ 2019-09-25 16:06 singleSpace 阅读(425) 评论(0) 推荐(0)
校园商铺-4店铺注册功能模块-3thumbnailator图片处理和封装Util
摘要:1. 初步使用thumbnailator 1.1 下载依赖 1.2 "github添加水印图片示例" 1.3 示例 2.工具类PathUtil 问题:为什么不把图片路径设置在classpath下,这样就不用指定绝对路径? 解析:一旦将图片路径设置在classpath,如果工程重新部署,新生成的文件图 阅读全文
posted @ 2019-09-24 20:33 singleSpace 阅读(694) 评论(1) 推荐(0)
校园商铺-4店铺注册功能模块-1Dao层之更新店铺
摘要:1. dao层增加更新店铺的方法 2.mapper增加update方法的配置 2.1 为什么需要动态SQL呢? 假设某一张表只有A和B两列,有时只需要更新A,有时只需要更新B,有时A和B都要更新。 如果不支持动态语句的话,就需要写3条update语句才能满足数据的更新,如果支持动态SQL,只需要写一 阅读全文
posted @ 2019-09-24 19:14 singleSpace 阅读(332) 评论(0) 推荐(0)
校园商铺-4店铺注册功能模块-1Dao层之新增店铺
摘要:1. 系统功能开发的优先级。 项目共有3个系统,前端展示系统,店家管理系统,超级管理员管理系统。 店家的优先级是最高的,因为最有可能带来收益的是店家,而且一旦店家系统开发出来,店家往系统里填写商品信息、前端展示系统才有展示的数据源。 超级管理员系统可以用手工录入的方式来代替,优先级是最低。 分析之后 阅读全文
posted @ 2019-09-24 15:25 singleSpace 阅读(407) 评论(0) 推荐(0)
校园商铺-2Logback配置与使用-3验证配置
摘要:1. 验证logback配置 1.1. 启动tomcat,得到CATALINA_BASE地址: 1.2 访问接口,查看日志 浏览器打开http://localhost:18080/o2o/superadmin/listarea 控制台输出日志 debug.log log 2019 09 23 20: 阅读全文
posted @ 2019-09-23 21:00 singleSpace 阅读(286) 评论(0) 推荐(0)
校园商铺-2Logback配置与使用-2Logback配置
摘要:logback配置文件加载顺序 logback:程序在运行的时候,会按照一定的顺序去加载logbook相关的配置文件。 如果我们在配置里面制定了logbackConfigurationFile这个属性,将使用这个属性的地址去寻找相关的配置文件,如 传入一个参数 DlogbackConfigurati 阅读全文
posted @ 2019-09-23 12:52 singleSpace 阅读(380) 评论(0) 推荐(0)
校园商铺-2Logback配置与使用-1Logback介绍
摘要:日志的作用: 1.故障定位 2.显示程序运行状态 好的日志记录方式可以提供给我们足够多定位问题的依据,因此我们引入logback组件来进行日志的记录 1. Logback标准配置 1.1 Logback的主要模块: Logback access:与servlet容器集成,提供通过http来访问日志的 阅读全文
posted @ 2019-09-23 11:24 singleSpace 阅读(230) 评论(0) 推荐(0)
校园商铺-2项目设计和框架搭建-11彩蛋时间
摘要:1. SpringMVC:DispatcherServlet 前端控制器DispatcherServlet是整个SpringMVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并把请求分发到不同的控制器中去,根据控制器处理后的结果生成相应的响应发送到客户端。 2. Spring IOC和A 阅读全文
posted @ 2019-09-21 21:48 singleSpace 阅读(244) 评论(0) 推荐(0)
校园商铺-2项目设计和框架搭建-10验证controller
摘要:1.新建package:com.csj2018.o2o.web.superadmin 2.建立AreaController.java 浏览器访问:http://localhost:18080/o2o/superadmin/listarea 阅读全文
posted @ 2019-09-21 18:57 singleSpace 阅读(269) 评论(0) 推荐(0)
校园商铺-2项目设计和框架搭建-9验证Service
摘要:1. 新建接口 main: com.csj2018.o2o.service/AreaService.java 2. 新建实现类 main: com.csj2018.o2o.service.impl/AreaServiceImpl.java 3. 修改基类 test: com.csj2018.o2o/ 阅读全文
posted @ 2019-09-21 18:05 singleSpace 阅读(413) 评论(2) 推荐(1)
校园商铺-2项目设计和框架搭建-8升级mysql驱动相关的配置以支持mysql8
摘要:1.如何升级驱动 1.1步骤: a 确保当前程序能正常访问数据库 b 更新mysql驱动重新运行程序进行校验 "maven依赖https://mvnrepository.com/artifact/mysql/mysql connector java/8.0.17" 重新运行测试脚本 1.2问题: 1 阅读全文
posted @ 2019-09-21 15:14 singleSpace 阅读(408) 评论(0) 推荐(0)
校园商铺-2项目设计和框架搭建-7验证Dao
摘要:以最简单的地区表为例 1.插入数据 2.创建接口 src/main/java/com.csj2018.o2o.dao/AreaDao.java 3. 创建mapper文件 src/main/resources/mapper/AreaDao.xml 4. 创建基类BaseTest.java 5. 创建 阅读全文
posted @ 2019-09-20 20:06 singleSpace 阅读(308) 评论(0) 推荐(0)
校园商铺-2项目设计和框架搭建-6逐层完成SSM的各项配置
摘要:1. 创建/src/main/resources/jdbc.properties文件 2. 创建/src/main/resources/mybatis config.xml 3. 创建/src/main/resources/spring/spring dao.xml 4. 创建/src/main/r 阅读全文
posted @ 2019-09-19 21:48 singleSpace 阅读(366) 评论(0) 推荐(0)
校园商铺-2项目设计和框架搭建-5配置maven
摘要:/src/main/java 存放业务的Java代码 /src/main/resources 存储项目所用到的资源文件,如各种Spring,batis,日志的配置文件 /src/test/java 单元测试所设计的Java代码 /src/test/resources 单元测试所设计到的配置文件 新建 阅读全文
posted @ 2019-09-19 10:43 singleSpace 阅读(391) 评论(0) 推荐(0)
校园商铺-2项目设计和框架搭建-2实体类设计与表创建
摘要:区域:代表校园周边的区域划分 用户信息:关联微信账号和本地账号。支持微信账号登陆和本地注册的用户登陆 头条:banner广告页 商品与详情图片是一对多的关系。一个商品可能有多张图片 1. 区域 权重:显示优先级。权重大的,优先展示 1.1 创建Area类 在src/main/java下新建packa 阅读全文
posted @ 2019-09-16 20:44 singleSpace 阅读(651) 评论(0) 推荐(0)
1移动测试流程和技术体系
摘要:1. 测试行业的生存挑战: XP Scrum CI CD DevOps的流行加大了测试压力 原有质量保证体系从理论到技术思想已经全面落伍,缺乏工程化体系建设 互联网发展快,导致测试工程师跟不上发展速度 现有的知识体系缺乏完整的梳理和总结,导致新人学习困难且不成体系 网络和培训结构充斥着过时、落伍的知 阅读全文
posted @ 2019-09-16 13:19 singleSpace 阅读(653) 评论(0) 推荐(0)
校园商铺-2项目设计和框架搭建-1系统功能模块划分
摘要:学习目标: 明确各模块职责 了解各模块所涉及的对象 前端展示系统 头条展示 店铺类别展示 区域展示 店铺 列表展示 查询 详情 商品 列表展示 查询 详情 店家管理系统 local账号维护 微信账号维护 店铺信息维护 权限验证 商品类别维护 超级管理员系统: 头条信息维护 店铺类别信息维护 区域信息 阅读全文
posted @ 2019-09-14 19:38 singleSpace 阅读(774) 评论(0) 推荐(0)
校园商铺-1开发准备-3 Eclipse与maven的联合配置
摘要:1. JDK安装地址: 2.maven安装地址: 3.maven配置 注意:settings.xml文件极容易出现格式错误 4.tomcat修改端口 我本地启动了其他服务,占用了8080端口,因此需要修改tomcat的端口。 双击tomcat,打开配置文件,修改端口号 阅读全文
posted @ 2019-09-14 19:09 singleSpace 阅读(225) 评论(0) 推荐(0)
校园商铺-1开发准备-2开发准备
摘要:1. 环境准备: JDK8Maven3.3.9+对项目用到的jar包进行管理Mysql5.5+存储项目所需要的数据Chrome项目展示Tomcat8运行Java项目IDEeclipse 2.配置tomcat 找到Server,没有Server "参考:https://www.jb51.net/art 阅读全文
posted @ 2019-09-08 11:59 singleSpace 阅读(288) 评论(0) 推荐(0)
校园商铺-1开发准备-1课程序章
摘要:校园商铺1.0校园商铺2.0SpringSprint mvcmyBatisSpring bootmyBatis项目1.0版本的作用:短时间内开发处简约实用的项目,以抢占先机,让项目快速运转起来在1.0的基础上,增加用户和商家的粘性,发挥发掘项目的更多价值 前端: SUI Mobile迅速搭建响应式界 阅读全文
posted @ 2019-09-08 10:54 singleSpace 阅读(245) 评论(0) 推荐(0)
廖雪峰Java16函数式编程-2Stream-7其他操作
摘要:1. 排序 Stream sorted(); //按元素默认大小排序(必须实现Comparable接口) Stream sorted(Comparator cp); //按指定Comparator比较的结果排序 2.去除重复元素 Stream distinct(); //返回去除重复元素的Strea 阅读全文
posted @ 2019-09-08 04:53 singleSpace 阅读(190) 评论(0) 推荐(0)
廖雪峰Java16函数式编程-2Stream-6reduce
摘要:1. 聚合方法 Stream.reduce()是一个Stream的聚合方法:把一个Stream的所有元素聚合成一个结果 例如: 2. reduce简介 reduce接收的对象是BinaryOperator接口,其定义了一个apply方法,负责把上次累加的结果和本次元素进行运算,并且返回累加的结果 例 阅读全文
posted @ 2019-09-07 15:57 singleSpace 阅读(243) 评论(0) 推荐(0)
廖雪峰Java16函数式编程-2Stream-5filter
摘要:1.filter简介 Stream.filter()是一个转换方法,把一个Stream转换为另一个Stream。 所谓filter操作,就是对一个Stream的所有元素进行测试,不满足条件的元素就被过滤掉,剩下的元素构成了一个新的Stream 例如对{1, 2, 3, 4, 5}调用filter,传 阅读全文
posted @ 2019-09-07 15:30 singleSpace 阅读(323) 评论(0) 推荐(0)
廖雪峰Java16函数式编程-2Stream-4map
摘要:1. map()简介 Stream.map()是一个Stream的转换方法,把一个stream转换为另一个Stream,这2个Stream是按照映射函数一一对应的。 所谓map操作,就是把一种操作运算映射到序列的每个元素上。 例如:f(x)=x^2,对x计算它的平方,把这个函数映射到一个序列{1, 阅读全文
posted @ 2019-09-07 12:11 singleSpace 阅读(328) 评论(0) 推荐(0)
廖雪峰Java16函数式编程-2Stream-2创建Stream
摘要:1. 方法1:把一个现有的序列变为Stream,它的元素是固定的 2. 方法2: 通过Stream.generate方法根据一个Supplier对象不断产生下一个元素。这种Stream保留的是算法,可以表示无限序列。 3. 方法3:很多API提供了Stream接口,可以直接返回Stream,例如 F 阅读全文
posted @ 2019-09-07 10:55 singleSpace 阅读(233) 评论(0) 推荐(0)
廖雪峰Java16函数式编程-2Stream-1Stream简介
摘要:1. Stream Java8引入全新的Stream API 位于java.util.stream包 1.1 Stream API不同于java.io的InputStream/OutputStream java.iojava.util.stream存储顺序读写的byte/char顺序输出的任一Jav 阅读全文
posted @ 2019-09-06 11:41 singleSpace 阅读(321) 评论(0) 推荐(0)
廖雪峰Java16函数式编程-1Lambda表达式-3方法引用
摘要:Java8引入了Lambda表达式,可以不必编写FunctionalInterface的实现类,直接写Lambda表达式。除了Lambda表达式,我们还可以直接传入方法引用 方法引用是指:如果某个方法签名和接口恰好一致,可以直接传入方法引用,格式:类名::方法名 静态方法引用 在SortedBy这个 阅读全文
posted @ 2019-09-05 21:10 singleSpace 阅读(238) 评论(0) 推荐(0)
廖雪峰Java16函数式编程-1Lambda表达式-1Lambda基础
摘要:1. 函数式编程 Java有2类方法: 实例方法:通过实例调用 静态方法:通过类名调用 Java的方法相当于过程式语言的函数 函数式编程(Functional Programing): 把函数作为基本运算单元 函数可以作为变量,传递给另一个函数 函数可以接收函数 函数可以返回函数 历史研究函数式编程 阅读全文
posted @ 2019-09-05 02:48 singleSpace 阅读(324) 评论(0) 推荐(0)
廖雪峰Java15JDBC编程-3JDBC接口-5JDBC连接池
摘要:1. JDBC连接池 1.1 JDBC连接池简介 线程池可以复用一个线程,这样大量的小任务通过线程池的线程执行,就可以避免反复创建线程带来的开销。 同样JDBC可以复用一个JDBC连接 JDBC的连接池可以维护若干个JDBC连接,在执行数据库任务的时候,可以从连接池中直接获取连接,而不是反复创建和关 阅读全文
posted @ 2019-09-05 02:34 singleSpace 阅读(268) 评论(0) 推荐(0)
廖雪峰Java15JDBC编程-3JDBC接口-4JDBC事务
摘要:1 数据库事务:Transaction 1.1 定义 若干SQL语句构成的一个操作序列 要么全部执行成功 要么全部执行不成功 1.2 数据库事务具有ACID特性: Atomicity:原子性一个事务虽有若干SQL语句构成,但它本身是一个原子操作,要么全部成功,要么全部失败 Consistency:一 阅读全文
posted @ 2019-09-01 22:56 singleSpace 阅读(236) 评论(0) 推荐(0)
廖雪峰Java15JDBC编程-3JDBC接口-3JDBC更新
摘要:使用update语句的时候,需要通过JDBC实现update语句的执行,这个时候仍然通过PreparedStatement对象来使用,直接传入update语句,然后通过setObject传入占位符的值,最后通过executeUpdate()就可以执行这个update语句。 executeUpdate 阅读全文
posted @ 2019-09-01 12:22 singleSpace 阅读(219) 评论(0) 推荐(0)