苍穹外卖01

0. 配置maven (仅一次的操作

1.项目导入idea

 

2. 保证nginx服务器运行 (nginx.exe要在非中文的目录下)

开启服务: 

start nginx                

 查看任务进程是否存在:

tasklist /fi "imagename eq nginx.exe"

关闭nginx:

./nginx -s stop

直接输入nginx监听的对应端口即可访问页面:

端口在这个conf文件里去看 我改成90:

3. 项目连接数据库


navicat-进入连接- 新建数据库(和文件里数据库名一致)- 运行sql文件

记住用户名和mysql密码(我的都是 root 123456)

具体的连接配置是这个文件 (改成自己的一些信息)

4.后端环境搭建—使用Git进行版本控制

使用Git进行项目代码的版本控制,具体操作:

  • 创建Git本地仓库
  • 创建Git远程仓库
  • 将本地文件推送到远程Git仓库

0. 创建Git本地仓库 (一次性操作 你的工具栏从此出现一个Git按钮)

1.把项目提交到本地仓库 (commit)

2.创建远程仓库

 

3.将本地文件推送到远程Git仓库

Git-->push

5. Nginx反向代理

5.1 Nginx概念

5.2 Nginx反向代理的好处

①快速访问:Nginx做缓存 前端再次请求可以直接响应缓存数据

②负载均衡:把大量请求均衡分配给集群中的每台后端服务器

③安全性:先请求到nginx服务器,再由nginx服务器走内网,转发给后端的服务器

5.3 反向代理的配置 配置转发匹配的后端接口地址

6. 密码加密 

6.1 MD5加密方式

6.2 JWT令牌

定义jwt属性类

注入给controller

controller中生成jwt令牌,包含两个属性:密钥、TTL

7. 导入接口文档

8. Swagger

8.1 Swagger介绍
  • 使用Swagger你只需要按照它的规范去定义接口以及接口相关的信息,就可以做到生成接口文档,以及在线接口调试页面。
  • Knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,使用这个方案,只需要在项目的pom.xml文件中导入对应依赖就可以。

8.2 使用Swagger的步骤

1. pom.xml中导入Knife4j的maven坐标

2. 在WebMvcConfiguration配置类中添加Knife4j相关配置

3. 设置静态资源映射,否则接口文档页面无法访问

8.3 Knife4j框架生成接口文档

程序运行后访问这个页面 http://localhost:8080/doc.html

还可以(模拟前端) 对后端代码做调试

8.4 Swagger常用注解
图 5.3-1 Swagger常用注解
上图中是Swagger常用注解,通过注解可以控制生成的接口文档,使接口文档拥有更好的可读性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3269049.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【优秀python web系统毕设】基于python的全国招聘数据分析可视化系统,包括随机森林算法

1.1 研究背景 自1997年互联网开始在国内的招聘行业发展至今已有二十几年的历史,互联网招聘进入了蓬勃发展的“黄金时代”。根据智研咨询发布的《2023年中国互联网招聘行业发展现状》报告显示,截至2023年5月,中国互联网招聘平台中&#xff0c…

Navicat 17 新特性 | Navicat BI 功能革新升级,助力企业深度挖掘数据潜能

随着 Navicat 17 的发布,在业界引起了广泛的共鸣与热议。我们曾深入剖析其众多革新特性,包括模型设计创新与优化、高效的查询与配置、用户界面交互体验再升级,原生适配国产平台和操作系统和数据字典提升数据结构清晰度,这些新特性…

MySQL查询优化 limit 100000,10加载很慢该怎么优化

需求:查询19年以后发布的商品 数据库表结构如下: 目前数据量:264751 优化前执行时间:0.790s 优化后执行时间:0.467s select id,no,title,cart_title,cid_name from tb_item where id > (select id from tb_item …

Gitlab以及分支管理

一、概述 Git 是一个分布式版本控制系统,用于跟踪文件的变化,尤其是源代码的变化。它由 Linus Torvalds 于 2005 年开发,旨在帮助管理大型软件项目的开发过程。 二、Git 的功能特性 Git 是关注于文件数据整体的变化,直接会将文件…

【Beyond Compare】Beyond Compare下载、安装与使用详细教程

目录 🌺1 概述 🎄2 Beyond Compare 安装包下载 🌼3 安装详细教程 🍂4 免费注册 🌍5 使用详情 🌺1 概述 Beyond Compare 是一款强大的文件和文件夹比较工具,广泛应用于软件开发、文档管理和…

论文中的流程图参考图片

写论文的时候,在绘制流程图时,一直纠结n是大写还是小写,用不用斜体,号两边要不要空格。今天找到了一张标准的流程图来参考。图片来自 Zhi-Chang Ba et al, Combination of DCE-MRI and NME-DWI via Deep Neural Network for Predi…

[Unity] ShaderGraph实现镜头加速线/残血效果 URP

效果如下所示:残血状态时,画面会压暗角,并出现速度线营造紧迫感。 使用到的素材如下,换别的当然也可以。[这是张白色的png放射图,并非皇帝的新图hhh] 这个效果的实现逻辑,其实就是利用time向圆心做透明度的…

【全国大学生电子设计竞赛】2023年G题

🥰🥰全国大学生电子设计大赛学习资料专栏已开启,限时免费,速速收藏~

Windows11安装WSL2 笔记240726

以管理员身份打开控制台输入 wsl --status wsl --status如果什么也没有,说明系统还未安装WSL , 执行 wsl --install 进行安装 wsl --install安装完成后, 再次执行 wsl --status 可看到 wsl --status 默认版本: 2 当前计算机配置不支持 WSL1。 若要使用 WSL1,请启用…

CentOS配置NTP服务

更改配置文件 [rootController ~]# vim /etc/chrony.conf 重启服务并设置为开机自启动 [rootController ~]# systemctl restart chronyd.service [rootController ~]# systemctl enable chronyd.service 在另一台CentOS测试 更改配置文件 [rootCompute ~]# vim /etc/chron…

idea 自动生成pojo类

找到这个View>Tool Windows>Database配置数据库 配置好后刷新,查看是否连接上表 然后找到 点击后选择你将要生成的pojo需要保存到哪个文件,然后再次点击,就生成好了,然后自己稍作修改即可使用该pojo类了

AI绘画,100w+播放封神!1分钟教你制作AI视频!各地的守护神终于出现了

前言 神兽教程 这种视频怎么做,Lison也是熬夜很快写了拆解教程~ 一、获取提示词 首先在 Kimi 或者 GPT 上可以查询各个省份的特色动物是什么,用各个省份的特色动物去做这样的图会更有归属感一些。 例如四川是大熊猫,甘肃是马&#xff0c…

深度学习目标检测入门实战

深度学习目标检测入门实战 一、什么是目标检测二、目标检测常用的数据集(开源)(一)VOC数据集(1)背景知识(2)数据集的下载(3)VOC2007 数据集的标注&#xff08…

C++初学(4)

4.1、const限定符 如果程序在多个地方使用同一个常量,则需要修改该常量时,只需修改一个符号定义即可。前面介绍#define语句时说明过,C有更好的处理符号常量的方法,就是使用const关键字来修改变量声明和初始化。假设需要一个表示一…

【Python机器学习】朴素贝叶斯——基于贝叶斯决策理论的分类方法

k-近邻算法和决策树分类器有时会产生错误结果,这是可以要求分类器给出一个最优的类别猜测结果,同时给出这个猜测的概率估计值 概率论是许多机器学习算法的基础,所以深刻理解这一主题就非常重要。有一些使用概率论进行分类的方法。首先是从一…

Godot入门 06死亡机制1.0版

限制相机的底部滚动极限,使用标尺工具量出距离,设置距离为100,并设置平滑停止。 添加新场景,添加节点Area2D,设置碰撞的物理层为2,改节点名为Killzone。 拖动Killzone场景到Game场景中。给Killzone添加Coll…

NameSilo域名注册和解析2024版教程(附优惠码)

上次给大家介绍了国外知名的域名注册商Dynadot,今天再给大家分享另一家国外知名的域名注册商NameSilo,同样性价比很高。使用本站提供的优惠码:ieearn.com,你还可以在首次注册购买域名时享受1美元的优惠: NameSilo简介…

语言模型及数据集

一、定义 1、语言模型的目标是估计序列的联合概率,一个理想的语言模型就能够基于模型本身生成自然文本。 2、对一个文档(词元)序列进行建模, 假设在单词级别对文本数据进行词元化。 3、计数建模 (1)其中…

大语言模型是什么,该如何去学习呢

什么是 LLM**?** LLM(大型语言模型, Large Lanage Modle)是一种计算机程序,它可以理解和生成类似人类的文本;它能够像我们人类一样阅读、写作和理解语言。你可以把它想象成一个超级聪明的博学的不知疲惫的24小时全年无休的助手。…

搭建规范化的vue2项目

项目包含的库 Vue2VuexRouterEslintPrettier 环境 vue:2.6.14 eslint:7.32.0 prettier:2.4.1 eslint-plugin-prettier:4.0.0 eslint-plugin-vue:8.0.3 vue/cli:5.0.8 步骤 全局安装cli工具 npm in…