一 项目简介
1. 课程定位
-
从单一架构阶段到分布式架构阶段的过渡
-
- 后台管理员系统使用单一架构开发
- 前台会员系统使用分布式架构开发
2. 项目作用
- 帮助创业者发布创业项目, 向大众募集启动资金的融资平台
3. 业务功能
4. 项目架构
4.1 众筹项目系统架构图
4.2 公共模块
- common-util: 项目工具类( 常量什么的 )
- common-reverse: mybatis 的逆向工程
4.3 后台管理员系统(单一架构)
4.3.1 admin-parent [继承、聚合]
- 父工程
4.3.1.1 admin-webui 处理请求
4.3.1.2 admin-component 组件
4.3.1.3 admin-entity 实体类
4.4 前台会员系统(分布式微服务架构)
4.4.1 member-parent [继承、聚合]
4.4.1.1 member-eureka [注册中心] 注册之后 【处理业务逻辑】就可以调用 【数据中心】
4.4.1.2 member-zuul [网关] 项目统一入口, 处理请求并过滤(检查有没有登录)
4.4.1.3 member-api [接口]
-
第三方接口
-
- 短信
- 支付-蚂蚁金服
- OSS(阿里云提供的一个 对象存储服务) 服务器存储图片
4.4.1.4 member-entity [实体类]
4.4.1.5 处理业务逻辑
- member-authentication
- member-project-consumer
- member-order-consumer
- member-pay-consumer
4.4.1.6 数据中心
- member-mysql-provider
- member-redis-provider
5. 前置要求
5.1 Spring 管理项目组件
5.2 SpringMVC 浏览器交互
5.3 MyBatis 持久化
5.4 Maven 管理继承、聚合
6. 项目课程的学习方法
- 学会
6.1 心态转变
-
养兵千日, 用兵一时: 着要从学习具体技术的语法(java一段代码结束后要加 ; )转变为思考如何实现业务功能需求
-
- 学习技术. 实现功能
6.2 带兵出征
-
点: 具体技术点 (使用方法、注解等)
-
线: 每一个请求的处理过程是一条线【线程】, 对应 Tomcat 的线程池中的一个线程
-
- request -> tomcat -> Thread
- 每一个请求会有一个线程来处理
-
面: 多个请求组织在一起完成一个特定模块的功能
-
体: 多个模块组合在一起构成一个完整对的项目
-
过程
-
- 请求 -> handle -> service -> mapper-> 数据库
- mybatis 配置文件
- spring 配置文件
6.3 工程拔寨
-
目标: 聚焦当前要完成的任务。目标明确后才能分析实现的思路。甚至有的时候需要对大目标进行拆解, 把很多小目标各个击破。
-
思路: 针对目标的达成进行分析。具体到项目功能的实际开发中, 体现为流程图。
-
代码: 参照思路分析时绘制成流程图, 把步骤翻译成写代码时的注释, 再对照注释具体编写代码
-
层次感