SpecialWeekSpecialWeek

苍穹外卖环境配置

本文导航按标题快速定位

苍穹外卖是瑞吉外卖的升级版。
对于springboot和SSM等前置知识可以参考下面的连接,我写的关于此类知识的笔记不全面也没有章法。

展开

Spring:https://cyborg2077.github.io/2022/08/29/Spring/
SpringMVC:https://cyborg2077.github.io/2022/09/08/SpringMVC/
SSM整合:https://cyborg2077.github.io/2022/09/10/SSMIntegration/
Maven高级:https://cyborg2077.github.io/2022/09/13/MavenSenior/
SpringBoot:https://cyborg2077.github.io/2022/09/14/SpringBoot/
MyBatisPlus:https://cyborg2077.github.io/2022/09/20/MyBatisPlus/

前端环境配置

运行nginx。运行了nginx后才能访问前端页面。

后端环境搭建

项目结构采用了分模块开发

1 sky-take-out maven父工程,统一管理依赖版本,聚合其他子模块
2 sky-common 子模块,存放公共类,例如:工具类、常量类、异常类等
3 sky-pojo 子模块,存放实体类、VO、DTO等
4 sky-server 子模块,后端服务,存放配置文件、Controller、Service、Mapper、拦截器、启动类等

Entity 实体,通常和数据库中的表对应
DTO 数据传输对象,通常用于程序中各层之间传递数据
VO 视图对象,为前端展示数据提供的对象
POJO 普通Java对象,只有属性和对应的getter和setter

在子模块中有properties包里面放着的是配置属性类,通过配置文件注入的方式为该类的属性赋值,接下来我们配置属性类都是扫描的application.yml配置文件,用到的注释在查漏补缺中有讲解,想要使用的话,就在那个地方注入properties依赖,使用他的get方法。
配置类是管理第三方Bean的。

使用Git进行版本控制

1.创建本地仓库 2.创建远程仓库
在idea中上方VCS就有创建的选项,选中父工程的目录。
远程仓库使用的是gitee这是网站。

创建数据库(资料由黑马提供)

前后端联调

Controller
1.接收并封装参数
2.调用service方法查询数据库
3.封装结果并响应
Service
1.调用mapper查询数据库
2.密码比对
3.返回结果
Mapper
select * from employee
where username =?
运行service中的启动类,如果显示过时的错误在项目结构中降低jdk的版本就行了,我用的17没毛病。
数据库连接配置在黑马提供的资料中service->resources->application-dev.yml文件中配置。

思考

前端发送的请求,是如何请求到后端服务的?
在这个课程中我们的在执行登录操作的时候,前端发送的请求地址和我们服务器的接口地址不一样(在浏览器调试工具可以查看发送请求的具体信息),但是我们依然能接受到请求,这是因为我们使用了反向代理如(nginx),前端先请求nginx,再由nginx通过反向代理来请求Tomcat服务器。
总的来说反向代理就是将请求地址进行转换。

使用nginx反向代理的好处是:
1.提高访问速度。
2.进行负载均衡。
3.保护后端服务器的安全。
负载均衡(原本我们的前端只能固定的匹配一个服务器,使用nginx后就可以匹配多台服务器。)

可以在nginx的conf文件中进行修改如:

展开
upstream webservers!{
  server 192.168.100.128:8080
  server 192.168.100.129:880:
  }
server{
  listen 80;
  server name localhost;
  location /api/ {
  proxy_pass http://webservers/admin/;#负载均衡
 }
}

可以看location 后面的值只要监听的端口有/api/就会转换,在listen中配置监听端口。

续篇:《功能完善》