avatar
文章
94
标签
89
分类
16

首页
归档
标签
分类
关于
虾壳
搜索
首页
归档
标签
分类
关于

Java项目(三)

发表于2024-02-28|更新于2024-03-02|JavaJava项目
|字数总计:5|阅读时长:1分钟|阅读量:
文章作者: 虾壳
文章链接: http://yagote.github.io/2024/02/28/java-xiang-mu-san/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 虾壳!
JavaMyBatis PlusSpring CloudSpring Cloud Alibaba项目
上一篇
Java项目(四)
下一篇
Java项目(二)
相关推荐
2024-02-28
Java项目(二)
2024-02-28
Java项目(四)
2024-01-21
面试题-微服务
目录
  1. 项目总结
    1. 1、目录说明
    2. 2、技术栈
    3. 3、重难点
  2. 一、Day01
    1. 1、项目介绍
    2. 2、业务说明
    3. 3、技术栈
    4. 4、Nacos环境搭建
    5. 5、初始工程搭建
      1. 5.1 环境准备
      2. 5.2 主体结构
    6. 6、登录
      1. 6.1 需求分析
      2. 6.2 表结构分析
      3. 6.3 思路分析
      4. 6.4 运营端微服务搭建
      5. 6.5 登录功能实现
    7. 7、接口工具
      1. 7.1 postman
      2. 7.2 swagger
        1. 7.2.1 简介
        2. 7.2.2 SpringBoot集成Swagger
        3. 7.2.3 Swagger常用注解
      3. 7.3 knife4j
        1. 7.3.1 简介
        2. 7.3.2 核心功能
        3. 7.3.3 快速集成
    8. 8、网关
    9. 9、前端集成
      1. 9.1 前端项目部署思路
      2. 9.2 配置nginx
  3. 二、Day02-【Freemarker、MinIO】
    1. 1、文章列表加载
      1. 1.1 需求分析
      2. 1.2 表结构分析
      3. 1.3 导入文章数据库
        1. 1.3.1 导入数据库
        2. 1.3.2 导入对应的实体类
      4. 1.4 实现思路
      5. 1.5 接口定义
      6. 1.6功能实现
        1. 1.6.1 导入资料
        2. 1.6.2 定义接口
        3. 1.6.3 编写mapper文件
        4. 1.6.4 编写业务层代码
        5. 1.6.5 编写控制器代码
        6. 1.6.6 swagger测试或前后端联调测试
    2. 2、freemarker
      1. 2.1 freemarker介绍
      2. 2.2 快速入门
        1. 2.2.1 创建测试工程
        2. 2.2.2 配置文件
        3. 2.2.3 创建模型类
        4. 2.2.4 创建模板
        5. 2.2.5 创建controller
        6. 2.2.6 创建启动类
        7. 2.2.7 测试
      3. 2.3 freemarker基础
        1. 2.3.1 基础语法种类
        2. 2.3.2 集合指令(List和Map)
        3. 2.3.3 if指令
        4. 2.3.4 运算符
        5. 2.3.5 空值处理
        6. 2.3.6 内建函数
      4. 2.4 静态化测试
        1. 2.4.1 需求分析
        2. 2.4.2 静态化测试
    3. 3、对象存储服务MinIO
      1. 3.1 MinIO简介
      2. 3.2 MinIO特点
      3. 3.3 开箱使用
        1. 3.3.1 安装启动
        2. 3.3.2 管理控制台
      4. 3.4 快速入门
        1. 3.4.1 创建工程,导入pom依赖
      5. 3.5 封装MinIO为starter
        1. 3.5.1 创建模块ya-file-starter
        2. 3.5.2 配置类
        3. 3.5.3 封装操作minIO类
        4. 3.5.4 对外加入自动配置
        5. 3.5.5 其他微服务使用
    4. 4、文章详情
      1. 4.1 需求分析
      2. 4.2 实现方案
      3. 4.3 实现步骤
      4. 4.4 综合测试
  4. 三、Day03
    1. 1、自媒体前后端搭建
      1. 1.1 后台搭建
      2. 1.2 前台搭建
    2. 2、自媒体素材管理
      1. 2.1 素材上传
        1. 2.2.1 需求分析
        2. 2.2.2 素材管理-图片上传-表结构
        3. 2.2.3 实现思路
        4. 2.2.4 接口定义
        5. 2.2.5 自媒体微服务集成
        6. 2.2.6 具体实现
        7. 2.2.7 测试
      2. 2.2 素材列表查询
        1. 2.2.1 接口定义
        2. 2.2.2 功能实现
        3. 2.2.3 测试
    3. 3、自媒体文章管理
      1. 3.1 查询所有频道
        1. 3.1.1 需求分析
        2. 3.1.2 表结构
        3. 3.1.3 接口定义
        4. 3.1.4 功能实现
        5. 3.1.5 测试
      2. 3.2 查询自媒体文章
        1. 3.2.1 需求说明
        2. 3.2.2 表结构分析
        3. 3.2.3 接口定义
        4. 3.2.4 功能实现
        5. 3.2.5 测试
      3. 3.3 文章发布
        1. 3.3.1 需求分析
        2. 3.3.2 表结构分析
        3. 3.3.3 实现思路分析
        4. 3.3.4 接口定义
        5. 3.3.5 功能实现
        6. 3.3.6 测试
  5. 四、Day04-【OCR】
    1. 1、自媒体文章自动审核流程
    2. 2、内容安全第三方接口
      1. 2.1 概述
      2. 2.2 准备工作
      3. 2.3 文本内容审核接口
      4. 2.4 图片审核接口
      5. 2.5 项目集成
    3. 3、app端文章保存接口
      1. 3.1 表结构说明
      2. 3.2 分布式id
      3. 3.3 思路分析
      4. 3.4 feign接口
    4. 4、自媒体文章自动审核功能实现
      1. 4.1 表结构说明
      2. 4.2 实现
      3. 4.3 单元测试
      4. 4.4 feign远程接口调用方式
      5. 4.5 服务降级处理
    5. 5、发布文章提交审核集成
      1. 5.1 同步调用与异步调用
      2. 5.2 Springboot集成异步线程调用
    6. 6、文章审核功能-综合测试
      1. 6.1 服务启动列表
      2. 6.2 测试情况列表
    7. 7、新需求-自管理敏感词
      1. 7.1 需求分析
      2. 7.2 敏感词-过滤
      3. 7.3 DFA实现原理
      4. 7.4 自管理敏感词集成到文章审核中
    8. 8、新需求-图片识别文字审核敏感词
      1. 8.1 需求分析
      2. 8.2 图片文字识别
      3. 8.3 Tess4j案例
      4. 8.4 管理敏感词和图片文字识别集成到文章审核
    9. 9、文章详情-静态文件生成
      1. 9.1 思路分析
      2. 9.2 实现步骤
      3. 9.3 测试
    10. 10、Seata解决分布式事务问题
  6. 五、Day05-【Redis】
    1. 1、文章定时发布
    2. 2、延迟任务概述
      1. 2.1 什么是延迟任务
      2. 2.2技术对比
        1. 2.2.1DelayQueue
        2. 2.2.2 RabbitMQ实现延迟任务
        3. 2.2.3 redis实现
    3. 3、redis实现延迟任务
    4. 4、延迟任务服务实现
      1. 4.1 搭建ya-news-schedule模块
      2. 4.2 数据库准备
      3. 4.3 安装redis
      4. 4.4 项目集成redis
      5. 4.5 添加任务
      6. 4.6 取消任务
      7. 4.7 消费任务
        1. 4.7.1 功能实现
        2. 4.7.2 测试
      8. 4.8 未来数据定时刷新
        1. 4.8.1 reids key值匹配
        2. 4.8.2 reids管道
        3. 4.8.3 未来数据定时刷新-功能完成
      9. 4.9 分布式锁解决集群下的方法抢占执行
        1. 4.9.1 问题描述
        2. 4.9.2 分布式锁
        3. 4.9.3 redis分布式锁
        4. 4.9.4 在工具类CacheService中添加方法
      10. 4.10 数据库同步到redis
    5. 5、延迟队列解决精准时间发布文章
      1. 5.1 延迟队列服务提供对外接口
      2. 5.2 发布文章集成添加延迟队列接口
      3. 5.3 消费任务进行审核文章
  7. 六、Day06-【Kafka】
    1. 1、自媒体文章上下架
    2. 2、kafka概述
      1. 2.1 消息中间件对比
      2. 2.2 kafka介绍
    3. 3、kafka安装配置
    4. 4、kafka入门
    5. 5、kafka高可用设计
      1. 5.1 集群
      2. 5.2 备份机制(Replication)
    6. 6、kafka生产者详解
      1. 6.1 发送类型
      2. 6.2 参数详解
    7. 7、kafka消费者详解
      1. 7.1 消费者组
      2. 7.2 消息有序性
      3. 7.3 提交和偏移量
    8. 8、springboot集成kafka
      1. 8.1 传递消息为字符串
      2. 8.2 传递消息为对象
    9. 9、自媒体文章上下架功能
      1. 9.1 需求分析
      2. 9.2 流程说明
      3. 9.3 接口定义
      4. 9.4 自媒体文章上下架
      5. 9.5 消息通知article端文章上下架
      6. 9.6 测试
  8. 七、Day07-【Elasticsearch、MongoDB】
    1. 1、今日内容介绍
      1. 1.1 App端搜索-效果图
      2. 1.2 今日内容
    2. 2、搭建ElasticSearch环境
      1. 2.1 拉取镜像
      2. 2.2 创建容器
      3. 2.3 配置中文分词器 ik
      4. 2.4 使用postman测试
    3. 3、app端文章搜索
      1. 3.1 需求分析
      2. 3.2 思路分析
      3. 3.3 创建索引和映射
      4. 3.4 数据初始化到索引库
        1. 3.4.1 导入工程
        2. 3.4.2 查询所有的文章信息,批量导入到es索引库中
      5. 3.5 文章搜索功能实现
        1. 3.5.1 搭建搜索微服务
        2. 3.5.2 搜索接口定义
        3. 3.5.3 业务层实现
        4. 3.5.4 控制层实现
        5. 3.5.5 测试
      6. 3.6 文章自动审核构建索引
        1. 3.6.1 思路分析
        2. 3.6.2 文章微服务发送消息
        3. 3.6.3 搜索微服务接收消息并创建索引
    4. 4、app端搜索-搜索记录
      1. 4.1 需求分析
      2. 4.2 数据存储说明
      3. 4.3 MongoDB安装及集成
        1. 4.3.1 安装MongoDB
        2. 4.3.2 导入资料
        3. 4.3.3 核心方法
      4. 4.4 保存搜索记录
        1. 4.4.1 实现思路
        2. 4.4.2 实现步骤
      5. 4.5 加载搜索记录列表
        1. 4.5.1 思路分析
        2. 4.5.2 接口定义
        3. 4.5.3 mapper
        4. 4.5.4 业务层
        5. 4.5.5 控制器
        6. 4.5.6 测试
      6. 4.6 删除搜索记录
        1. 4.6.1 思路分析
        2. 4.6.2 接口定义
        3. 4.6.3 业务层
        4. 4.6.4 控制器
        5. 4.6.5 测试
    5. 5、app端搜索-关键字联想词
      1. 5.1 需求分析
      2. 5.2 搜索词-数据来源
      3. 5.3 功能实现
        1. 5.3.1 接口定义
        2. 5.3.3 业务层
        3. 5.3.4 控制器
        4. 5.3.5 测试
  9. 八、Day08-【超级管理员(实战)】
    1. 1、平台管理前端
    2. 2、登录及网关
      1. 2.1 登录
      2. 2.2 网关
    3. 3、频道管理
      1. 3.1 新增
      2. 3.2 查询列表
      3. 3.3 修改
      4. 3.4 删除
    4. 4、敏感词管理
      1. 4.1 新增
      2. 4.2 查询列表
      3. 4.3 修改
      4. 4.4 删除
    5. 5、用户认证审核
      1. 5.1 分页查询认证列表
      2. 5.2 审核
    6. 6、文章人工审核
      1. 6.1 文章列表查询
      2. 6.2 查询文章详情
      3. 6.3 人工审核
        1. 6.3.1 拒绝
        2. 6.3.2 审核成功
  10. 九、Day09【用户行为(实战)】
    1. 1、什么是行为
    2. 2、关注
    3. 3、点赞或取消点赞
    4. 4、阅读
    5. 5、不喜欢
    6. 6、收藏
    7. 7、文章详情-行为数据回显
    8. 8、jackson序列化与反序列化
    9. 9、修改index.js
  11. 十、Day10-【xxl-Job】
    1. 1、今日内容
      1. 1.1 需求分析
      2. 1.2 实现思路
      3. 1.3 定时计算
      4. 1.4 定时任务框架-xxljob
    2. 2、分布式任务调度
      1. 2.1 什么是分布式任务调度
      2. 2.2 xxl-Job简介
      3. 2.3 XXL-Job-环境搭建
        1. 2.3.1 调度中心环境要求
        2. 2.3.2 源码仓库地址
        3. 2.3.3 初始化“调度数据库”
        4. 2.3.4 编译源码
        5. 2.3.5 配置部署“调度中心”
      4. 2.4 配置部署调度中心-docker安装
      5. 2.5 xxl-job入门案例编写
        1. 2.5.1 新建示例任务
        2. 2.5.2 创建xxljob-demo项目
        3. 2.5.3 application.yml配置
        4. 2.5.4 新建配置类
        5. 2.5.4 任务代码
        6. 2.5.5 测试-单节点
      6. 2.6 任务详解-执行器
      7. 2.7 任务详解
      8. 2.8 路由策略-轮询
      9. 2.9 路由策略-分片广播
        1. 2.9.1 分片逻辑
        2. 2.9.2 分片广播示例
    3. 3、热点文章-定时计算
      1. 3.1 需求分析
      2. 3.2 实现思路
      3. 3.3 实现步骤
        1. 3.3.1 频道列表远程接口准备
        2. 3.3.2 热文章业务层
        3. 3.3.3 xxl-job定时计算-步骤
    4. 4、查询文章接口改造
      1. 4.1 思路分析
      2. 4.2 功能实现
        1. 4.2.1 在ApArticleService中新增方法
        2. 4.2.2 修改控制器
        3. 4.2.3 测试
  12. 十一、Day11【Kafka Stream】
    1. 1、定时计算与实时计算
    2. 2、实时流式计算
      1. 2.1 概念
      2. 2.2 应用场景
      3. 2.3 技术方案选型
    3. 3、Kafka Stream
      1. 3.1 概述
      2. 3.2 Kafka Streams的关键概念
      3. 3.3 KStream
      4. 3.4 Kafka Stream入门案例编写
      5. 3.5 SpringBoot集成Kafka Stream
    4. 3、app端热点文章计算
      1. 3.1 思路说明
      2. 3.2 功能实现
        1. 3.2.1 用户行为
        2. 3.2.2 使用kafkaStream实时接收消息,聚合内容
        3. 3.2.3 重新计算文章的分值,更新到数据库和缓存中
  13. 十二、Day12
    1. 1、持续集成
      1. 1.1 什么是持续集成
      2. 1.2 持续集成的好处
    2. 2、软件开发模式
      1. 2.1 软件开发生命周期
      2. 2.2 软件开发瀑布模型
      3. 2.3 软件的敏捷开发
    3. 3、Jenkins安装配置
      1. 3.1 Jenkins介绍
      2. 3.2 Jenkins环境搭建
        1. 3.2.1 Jenkins安装配置
        2. 3.2.2 Jenkins插件安装
        3. 3.2.3 Git安装配置
        4. 3.2.4 Maven安装配置
        5. 3.2.5 Docker安装配置
        6. 3.2.6 Docker Registry私有仓库安装配置
      3. 3.3 Jenkins工具配置
    4. 4、后端项目部署
      1. 4.1 多环境切换
      2. 4.2 多环境切换-微服务中多环境配置
      3. 4.3 整体思路
      4. 4.4 服务集成Docker配置
      5. 4.5 jenkins基础依赖打包配置
      6. 4.6 jenkins微服务打包配置
      7. 4.7 部署服务到远程服务器上
        1. 4.7.1 安装配置私有仓库
        2. 4.7.2 jenkins中安装插件
        3. 4.7.3 jenkins系统配置远程服务器链接
        4. 4.7.4 jenkins项目创建与其他微服务相同
        5. 4.7.5 设置参数
        6. 4.7.6 构建执行Execute shell
        7. 4.7.7 在远程服务器上执行脚本
        8. 4.7.8 构建完成以后,可以登录130服务器,查看是否有相关的镜像和容器
      8. 4.8 联调测试
    5. 5、jenkins触发器配置
      1. 5.1 URL触发远程构建
      2. 5.2 其他工程构建后触发
      3. 5.3 定时构建
      4. 5.4 轮询
  14. 十三、Day13【实战】
    1. 1、实战说明
    2. 2、文章评论-需求说明
      1. 2.1 文章评论
        1. 2.1.1 发布评论
        2. 1.2 点赞
        3. 1.3 评论列表
      2. 2.2 评论回复
        1. 2.2.1 评论回复-发布
        2. 2.2.2 点赞
        3. 2.2.3 查询评论回复列表
    3. 3、自媒体-评论管理-需求说明
      1. 3.1 评论管理查询
      2. 3.2 打开或关闭评论
      3. 3.3 查看文章评论详情
      4. 3.4 作者回复评论
      5. 3.5 作者点赞评论
      6. 3.6 作者可以删除评论
      7. 3.7 删除评论回复
    4. 4、自媒体-图文数据统计
  15. 十四、最终效果测试
    1. 1、APP用户端
    2. 2、自媒体作者端
    3. 3、超级管理员端
    4. 4、docker中安装的容器
Copyright © 2021 - present 虾壳
搜索
数据库加载中