黑马苍穹外卖1 Git+Nginx反向代理+员工登录表加密+Swagger

整体结构在这里插入图片描述

前端 :管理端Web/用户端(小程序)
后端:后端服务(java)

1 直接使用前端环境
2后端环境搭建
3 完善登录功能

后端环境搭建基于Maven,分模块开发
在这里插入图片描述
common公共类:constant常量类、、、、
pijo类:实体(与数据库表对应)、DTO(数据传输封装成对象)、VO(视图对象,为前端展示数据提供的对象),POJO(只用属性和对应的getter,setter方法)
server:配置文件、controller,service,mapper,启动类

Git

.gitignore是git该忽略的
1.创建本地仓库
IDEA-VCS-create Git repository
新版IDEA在左上有个master—commit—选中文件–编辑message–提交
2.创建远程仓库
gitee创建仓库—复制仓库链接
3.本地推送到远程
IDEA–push–建立关联URL处粘贴链接
在推上去的同时,创建了一个远程master分支

后端环境搭建-数据库环境搭建

通过sql脚本建11个表
在这里插入图片描述

CREATE DATABASE  IF NOT EXISTS `sky_take_out` ;# 创建数据库
USE `sky_take_out`# 进入数据库

前后端联调

在这里插入图片描述

@Biuld 用来构建对象
在这里插入图片描述
nginx自动解决了跨域问题。
Nginx反向代理,将前端发送的动态请求有nginx转发到后端服务器
反向代理好处:提高访问速度(nginx做缓存),负载均衡(分配到多台服务器),可以隐藏服务器的地址(转发到局域网)

nginx反向代理

在这里插入图片描述
区别就是:反向代理服务器是需要存储资源的,让用户更快速的接收到资源
负载均衡就是,为了保证后端web服务器的高可用,高并发,是不需要要存储资源,只需要转发用户的请求。

负载均衡

一组服务器,nginx平均的转发到这一组服务器上去。
在这里插入图片描述

完善登录功能

1.员工表密码加密存储,提高安全性。【数据库密码不能存明文】
2.MD5(好多人说这种方式不安全了!?)加密方式对明文密码加密

在这里插入图片描述

导入接口文档

前后端分离开发流程
在apifox 选yapi中导入接口文档

Swagger

自动创建接口文档,还能在线调用接口
详细的适应介绍Spring Boot整合swagger使用教程

在这里插入图片描述
要使用swagger,我们必须对swagger进行配置,我们需要创建一个swagger的配置类,比如可以命名为SwaggerConfig.java
在这里插入图片描述
运行进入localhost:8080/doc.thml
自动解析扫描的包文件,得到接口文档

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL:按用户名复制权限

生产系统中有一个模块是管理用户及菜单权限,它们是由3个数据表组成,关系及字段如下: 原来为每个用户添加菜单的访问权限时都是一个一个添加,但今天遇到有个新来的员工,需要具有与另一个员工相同的权限。新建一个用户后…

vue3 中实现 验证码发送 刷新不变倒计时

今天实现一个倒计时的功能 在平常开发前端的功能的时候 不管是 移动端还是web端 我们都会有注册 登录 中的发送验证码功能 实现绑定以及注册功能。今天我主要分享一下当前的验证码实现原理。 有两种做法(我目前认为以及看到的) ① 做一个简单的倒计时 ② 实时监测倒计时 刷…

今日AI资讯-20240615

1. Follow Your Emoji 一键让照片变表情包 腾讯混元联合港科大、清华大学联合推出肖像动画生成框架Follow Your Emoji,可以通过人脸骨架信息生成任意风格的脸部动画,一键创建表情包。基于算法革新和数据积累,Follow Your Emoji可以支持对脸部…

中电金信:银行业数据中心何去何从

20多年前,计算机走进国内大众视野,计算机行业迎来在国内的高速发展时代。银行业是最早使用计算机的行业之一,也是计算机技术应用最广泛、最深入的行业之一。近年来,随着银行竞争加剧,科技如何引领业务、金融科技如何发…

聊聊DoIP吧(三)-端口号port

DoIP在UDP和TCP建立连接和发送诊断报文的过程中使用的端口定义如下:

【会议】一张图片讲清楚:项目启动会议

另附上启动会前需要准备的内容:

Windows10笔记本如何系统重装?64位电脑重装系统需小心!一键安装超详细步骤!

在日常生活和工作中,我们有时会遇到Windows 10笔记本系统运行缓慢、频繁出现错误或受到病毒攻击等问题。这时,重装系统就成了解决这些问题的最佳选择。然而,对于许多用户来说,尤其是64位电脑用户,重装系统可能是一项既…

18、24年--信息系统工程——系统集成

1、集成基础 系统集成的工作再信息系统项目建设中非常重要,它通过硬件平台、网络通信平台、数据库平台、工具平台、应用软件平台将各类资源有机、高效地集成到一起,形成一个完整的工作台面。系统集成工作的好坏对系统开发、维护有极大的影响。因此,在技术上需要遵循的基本原…

树结构与算法-杨辉三角形的两种实现

什么是杨辉三角形 本文旨在讨论普通杨辉三角形的两种实现方式:迭代法和递归法。我们不详细讲解杨辉三角形的数学问题,只研究其代码实现。 杨辉三角形大致如下图: 杨辉三角形的规律 通过对杨辉三角形的图形分析,我们可以看到这几点…

[JavaScript]何为变量提升?

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/139742129 出自【进步*于辰的博客】 关于编译与解释,详述可查阅博文《[Java]知识点》…

泛微开发修炼之旅--17基于Ecology短信平台,实现后端自定义二开短信发送方案及代码示例

文章链接:17基于Ecology短信平台,实现后端自定义二开短信发送方案及代码示例

《山西教育》教学版是什么级别的刊物?

《山西教育》教学版是什么级别的刊物? 《山西教育(教学版)》创刊于1956年,是由山西教育报刊社主办的教学刊物。山西省一级期刊,是“宣传教育政策,关注教育热点,传播先进经验,提供教改资讯”的权威性期刊&a…

[深度学习]--分类问题的排查错误的流程

原因复现: 原生的.pt 好使, 转化后的 CoreML不好使, 分类有问题。 yolov8 格式的支持情况 Format Argument Suffix CPU GPU 0 PyTorch - .pt True True 1 Tor…

HQChart实战教程73-仿tradingview指标MACD

HQChart实战教程73-仿tradingview指标MACD MACD![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/84d180b5620940f6b9fe08c6f10eb0f3.png)麦语法脚本实心MACD指标脚本效果 空心MACD指标脚本效果图 自定义指标添加到系统指标里HQChart插件源码地址 MACD tradingview中…

在Windows环境下设置定时任务(任务计划程序)(Python)

文章目录 前言一、准备执行的test.py文件二、准备test.bat批处理文件(系统环境变量)三、设置定时任务(任务计划程序) 前言 计划任务是系统的常见功能,利用任务计划功能,可以将任何脚本、程序或文档安排在某…

自研一套带双向认证的Android通用网络库

当前,许多网络库基于Retrofit或OkHttp开发,但实际项目中常需要定制化,并且需要添加类似双向认证等安全功能。这意味着每个项目都可能需要二次开发。那么,有没有一种通用的封装方式,可以满足大多数项目需求?…

怎么制作酒店订房功能

在这个快节奏的时代,每一次旅行都如同一次心灵的远航。而酒店,作为旅途中的“避风港”,它的选择显得尤为重要。你是否曾在忙碌的行程中,为了寻找一家心仪的酒店而焦头烂额?是否曾在深夜的街头,为了找到一个…

美式动漫效果PS图层样式

对于追求独特艺术风格和创意的摄影师和设计师来说,一款能够轻松将照片转化为卡通效果的Photoshop模板无疑是一个强大的工具。这款由专业团队精心打造的模板,特别注重于美式动漫风格的呈现,让您的照片瞬间拥有生动且充满魅力的动漫色彩。 模板…

Plonky3和Binius中的Brakedown多项式承诺协议解析及优化(3)

3.2 Expander Graph and Linear-Time Encodable Linear Code 线性时间编码是线性纠错码的一种,核心是扩展图(Expander Graph),如下图所示: Figure 3 Expander Graph Expander Graph是一种具有强连通性的稀疏图&#…

Python 引入中文py文件

目录 背景 思路 importlib介绍 使用方法 1.导入内置库 importlib.util 2.创建模块规格对象 spec importlib.util.spec_from_file_location("example_module", "example.py") 3.创建模块对象 module importlib.util.module_from_spec(spec) …