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日志