DingXiaoYu 2 gadi atpakaļ
vecāks
revīzija
9875f26e44
2 mainītis faili ar 38 papildinājumiem un 49 dzēšanām
  1. 38 0
      Lab6.md
  2. 0 49
      注意事项.md

+ 38 - 0
Lab6.md

@@ -0,0 +1,38 @@
+## 作业内容
+有以下加分项供大家选择,至少挑选3个功能性加分项和3个非功能性加分项。选择加分项时可以参考后面的数字,数字越大代表难度越大。
+### 项目展示方面:
+1. 美化项目展示,优化交互。(2)
+### 项目功能方面:
+1. 商品类型进行嵌套,如FOOD类型下可以继续分类饮料、零食等。(1)
+2. 实现查询的分页功能。(1)
+3. 实现订单退款功能。(1)
+4. 实现订单14天自动结束功能,完成一个定时器。(3)
+5. 实现收货管理功能,可以添加多个地址和电话,下单时进行选择。(1)
+6. 实现回复评论功能,可以在未购买商品的情况下,评论别人的评论。(1)
+7. 实现商品购物车功能。(1)
+8. 设计多种优惠券,实现优惠券可选择、可叠加功能。(2)
+9. 优化商品/店铺推荐功能,根据用户的行为与喜好来进行推荐。(3)
+10. 实现客服功能,商店STAFF可以和顾客进行交流。(2)
+### 项目结构方面:
+1. 项目中加入一些较为复杂的设计模式。(2)
+2. 对系统进行单元测试和集成测试,单元测试可以使用Mock工具。(2)
+### 项目安全性方面:
+1. 实现接口鉴权,限制接口的访问身份。(2)
+2. 避免明文密码传输,进行密码加密。(1)
+3. 增加参数校验,保证不会出现错误的参数。(2)
+4. 数据库增加外键和约束索引,提高数据库安全性。(1)
+5. 多个请求同时访问资源,设计合理方案保证数据安全性。(优惠券领取情境)(3)
+### 项目性能方面:
+1. 系统中使用缓存,如使用Redis等中间件。(3)
+2. 加入日志功能,来进行系统的监控。(2)
+3. 数据库增加合适的索引,加快检索速度。(1)
+
+## 作业要求
+最后一次作业无具体要求,大家尽情发挥即可。以上的加分项仅用作参考,大家也可以自己发挥一些加分项。
+
+最后希望同学们在做项目时勇于尝试,多学多想,做到学思结合,安排时间时注意时间分配,不要做DDL的仆人。
+
+祝同学们在这门课中有所收获!
+
+## 展示准备
+最终展示将从功能、代码、文档、过程四方面分别展示。

+ 0 - 49
注意事项.md

@@ -1,49 +0,0 @@
-## 1. 启动注意事项
-1. 了解`pom.xml`文件的作用,能看懂依赖项。
-2. 了解`application.yml`文件的作用,了解`yml`文件和`properties`文件的区别,会写`yml`配置项。
-3. 准备环境:JDK版本为8.0,MySQL版本需要8.0以上,并且需要提前在数据库中建立`BlueWhale`数据库。
-4. `IDEA`中环境配置,确定`Settings`和`Project Structure`中对应的版本均为`Java 8`。
-5. 找到`BlueWhaleApplication`类,启动成功即可。
-
-## 2. 了解项目结构
-1. 了解`Spring Boot`的后端三层架构。
-2. 了解项目结构,了解每个包的作用,以及`Spring Boot`的`约定大于配置`的思想。
-3. 了解`Spring Boot`的`IOC`(控制反转)的思想。
-4. 了解`JPA`框架。
-
-## 3. 了解项目细节
-### 1. Controller层
-1. 知道标记`Bean`注解`@Component`、`@Controller`、`@RestController`。
-2. 了解`Rest`风格请求,知道`@Controller`和`@RestController`的区别。
-3. 知道GET请求和POST请求的区别,以及对应注解`@RequestMapping`、`@GetMapping`、`@PostMapping`。
-4. 知道几种传参方法,以及其注解`@PathVariable`、`@RequestParam`、`@RequestBody`。
-5. 知道自动装配注解`@Autowired`。
-6. 会用浏览器测试GET请求,用`Postman`等工具测试请求。
-### 2. Service层
-1. 知道标记`Bean`注解`@Service`。
-### 3. DAO层
-1. 知道标记`Bean`注解`@Repository`。
-2. 会使用`JPA`进行数据库操作。
-### 4. VO和PO
-1. 知道VO和PO的使用场景。
-2. 知道`Lombok`注解`@Getter`、`@Setter`、`@NoArgsConstructor`、`@AllArgsConstructor`。
-3. 知道PO如何与数据库表格属性一一对应。
-4. 了解ResultVO使用泛型返回数据。
-### 5. 用户认证与token
-1. 了解`token`的原理。
-2. 知道标记`Bean`注解`@Configuration`。
-3. 知道拦截器的配置方法。
-### 6. 处理Exception
-1. 了解项目内自定义`Exception`的方法,并且用优雅的方式返回。
-### 7. 枚举类的处理
-1. 了解枚举类的优点。
-2. 知道枚举类和前端、数据库的交互方式。
-### 8. 跨域问题处理
-1. 了解跨域问题。
-2. 知道配置跨域的方法。
-### 9. 文件上传处理
-1. 学会使用外部提供的图片存储功能,如阿里云OSS。一定要保护好自己的私密信息,如key。
-2. 了解`@ConfigurationProperties`注解的用途,可以从配置文件中获取数据。了解配置管理的作用。
-### 10. Java流的用法
-1. 了解stream()的一些基本方法,如map(),filter(),collect(),sum(),max()等。
-2. 了解函数式接口,学会使用Lambda表达式。