1.项目介绍
黑马头条是一个有关新闻资讯的项目。在如今获取信息碎片化的时代,我们通过微服务+大数据分析用户的喜好,并以此为根据,精准推送相关新闻资讯给用户,从而拓宽了用户获取资讯的渠道,充分提高用户吸收知识的质量。 我们的项目是toC项目,有app端、自媒体端和系统管理端。 app端:主要是方便普通用户可以移动端获取新闻资讯 自媒体端:是自媒体用户发布并管理自己的文章、与自己的粉丝互动等 系统管理端:方便管理员管理信息、内容审核、权限管理等
2.项目的技术架构
基于SpringCloud+SpringBoot
微服务架构 Spring+SpringMVC+MybatisPlus
网关:SpringCloud GateWay
注册中心和配置中心:nacos
微服务之间调用:feign Ribbon
负载均衡组件 数据库:mysql、MongoDB
分布式搜索:ES redis缓存
3.Springboot及SpringCloud使用的版本
Springboot 2.3.2 版本
SpringCloud Hoxton.SR8
4.前后端分离开发
1.首先前端人员与后端人员对项目需求进行讨论,定义接口文档;
2.然后前端和后端并行开发,前端人员根据需求开发出用户界面,后端人员根据接口文档进行服务端的开发;
3.接着前后端进行接口联调;
4.最后项目上线
5.SpringMVC接收参数的注解
@RequestParam :接受?name=value 或form表单
@RequestBody :接受JSon格式的参数
@PathVariable :接受路径占位符参数
6.接口文档的定义:
1.接口的路径
2.请求方式
3.请求参数
4.响应结果
7.项目的数据库设计情况
按照不同业务设计不同的数据库,有六个数据库
8.SpringBoot的自动装配原理
一般我们会在Springboot项目启动类添加@SpringbootApplication注解,而这个注解的其中一个二级注解@EnableAutoConfiguration注解通过@Import注解以ImportSelector接口来寻找MATA-INF的Spring.factories文件加载满足条件的配置类 过滤方式
1.去除重复的配置类
2.去除排除的配置
3.按条件注解进行过滤
9.自定义过starter起步依赖
采用统一异常处理
COntrollerAdvice
ExceptionHandler(异常处理器)
11.项目中Nacos的作用
1.注册中心 :
服务的注册
服务发现
2.配置中心 :
统一管理配置
共享配置复用
微服务的配置热更新
namespace环境的隔离
12.项目中api网关的作用
1.权限身份认证
2.路由
3.限流
4.hystrix:熔断降级
13.项目中前后端联调
前端部署: nodejs+npm
#安装依赖 npm install
#运行
npm run dev 前端调试:F12
通过network: 查看 请求路径、请求方式、请求参数 、 响应结果
后台调试:debug
log日志