java外卖01

开发环境搭建

前端环境搭建

启动nginx:双击mginx.exe即可启动nginx服务,访问端口号为80

(log中的error.log中有错误提示)

后端环境搭建

后端工程基于 maven进行项目构建,并且进行 分模块 开发

使用Git进行版本控制:

创建Git本地仓库 (点击VCS下的Create Git Repository  commit)

创建git远程仓库(gitee中创建复制地址)

将本地文件推送到git远程仓库(git中push 选择 Define remote输入URL)

数据库环境搭建

创建对应表格

前后端联调

现在maven父工程  lifestyle中  compile编译一下

前端发送的请求,如何到后端服务的?

nginx反向代理,  将前端发送的动态请求由nginx转发到后端服务器

好处:

提高访问速度

进行负载均衡(把大量的请求按照我们指定的方式均衡的分配给集群中的每台服务器)

保证后端服务安全

配置:

反向代理:

负载均衡:

nginx负载均衡策略:(nginx.config中配置)

轮询                默认方式                

weight                权重方式,默认为1,权重越高,被分配的客户端请求就越多

ip_hash                依据ip分配方式,每个访客可以固定访问一个后端服务

least_conn                依据最少连接方式,把请求优先分配给链接数少的后端服务

url_hash                依据url分配方式,相同的url会被分配到同一个后端服务

fair                        依据响应时间方式,响应时间短的服务将会被优先分配

完善登录功能

加密:加上//TODO会显示需要做的

password = DigestUtils.md5DigestAsHex(password.getBytes());

导入接口文档

前后端分离开发流程

将项目接口导入YApi(新建项目  数据导入JSON格式)

操作步骤

Swagger

介绍

按照他的规范去定义接口及接口相关的信息,就可以生成接口文档,  在线接口调试

knife4j是Java mvc框架集成swagger生成api文档的增强解决方案

使用方式

导入knife4j的maven坐标

//pom.xml文件
<dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-spring-boot-starter</artifactId>
                <version>${knife4j}</version>
            </dependency>

在配置类中接入knife4j相关配置   package必须写要检测的类

/**
     * 通过knife4j生成接口文档
     * @return
     */
 @Bean
    public Docket docket() {
        ApiInfo apiInfo = new ApiInfoBuilder()
                .title("苍穹外卖项目接口文档")
                .version("2.0")
                .description("苍穹外卖项目接口文档")
                .build();
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.sky.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }

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

   /**
     * 设置静态资源映射
     * @param registry
     */
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

区别

yapi是设计阶段使用的工具,管理和维护接口

swagger在开发阶段使用的框架,帮助后端开发人员做后端的接口测试

常见注解

注解可以控制生成的接口文档,是接口文档拥有更好的可读性

@Api(tags="")        用在类上,例如Controller,表示对类的说明

@ApiModel(description="")        用在类上,例如entity,DTO,VO

@ApoModelProperty        用在属性上,描述属性信息

@ApiOperation(value="")        用在方法上,例如Controller的方法,说明方法的用途,作用

  • 9
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java外卖订餐系统是一个基于Java语言开发的系统,用于实现在线订餐服务。该系统可以提供给用户一个方便快捷的方式来浏览菜单、下订单、支付和配送等功能。以下是一个简单的Java外卖订餐系统的示例: 1. 创建菜单类(Menu): ```java public class Menu { private String name; private double price; public Menu(String name, double price) { this.name = name; this.price = price; } // getter和setter方法 } ``` 2. 创建订单类(Order): ```java import java.util.ArrayList; import java.util.List; public class Order { private List<Menu> items; public Order() { items = new ArrayList<>(); } public void addItem(Menu menu) { items.add(menu); } public void removeItem(Menu menu) { items.remove(menu); } public double getTotalPrice() { double totalPrice = 0; for (Menu menu : items) { totalPrice += menu.getPrice(); } return totalPrice; } } ``` 3. 创建用户界面类(UserInterface): ```java import java.util.Scanner; public class UserInterface { private static Scanner scanner = new Scanner(System.in); public static void main(String[] args) { Order order = new Order(); while (true) { System.out.println("请选择操作:"); System.out.println("1. 查看菜单"); System.out.println("2. 下订单"); System.out.println("3. 移除订单"); System.out.println("4. 结算订单"); System.out.println("5. 退出"); int choice = scanner.nextInt(); switch (choice) { case 1: // 显示菜单 break; case 2: // 下订单 break; case 3: // 移除订单 break; case 4: // 结算订单 break; case 5: // 退出 System.exit(0); break; default: System.out.println("无效的选择,请重新输入!"); break; } } } } ``` 以上是一个简单的Java外卖订餐系统的示例,你可以根据实际需求进行扩展和修改。如果你有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值