【外卖系统】环境的搭建

news2024/7/6 6:18:38

搭建数据库

1.创建数据库,名字叫reiggie
在这里插入图片描述
在这里插入图片描述
2.导入数据库
在这里插入图片描述
在这里插入图片描述

创建Maven项目

1.创建项目
在这里插入图片描述
2.检查项目新建的是否有问题
在这里插入图片描述

3.导入pom.xml文件
4.导入application.yml文件
在从gittee上down的代码的基础上,修改一下端口号,数据库的名称什么的

server:
  port: 8080 #配置时 tomcat的端口号

spring:
  application:
    name: my_reggie #应用的名称 可以自定义
  #datasource:
  #  druid:
  #    driver-class-name: com.mysql.cj.jdbc.Driver
  #    url: jdbc:mysql://localhost:3306/ruiji?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
  #    username: root
  #    password: 333
  shardingsphere:
    datasource:
      names:
        master,slave
      # 主库(增删改操作)
      master:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/reggie?characterEncoding=utf-8
        username: root
        password: 111111
      # 从数据源(读操作)
      slave:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/reggie?characterEncoding=utf-8
        username: root
        password: 111111
    masterslave:
      # 读写分离配置
      load-balance-algorithm-type: round_robin #轮询(如果有多个从库会轮询着读)
      # 最终的数据源名称
      name: dataSource
      # 主库数据源名称
      master-data-source-name: master
      # 从库数据源名称列表,多个逗号分隔
      slave-data-source-names: slave
    props:
      sql:
        show: true #开启SQL显示,默认false
  main:
    allow-bean-definition-overriding: true



  redis:
    host: localhost # 本地IP 或是 虚拟机IP
    port: 6379
    #    password: root
    database: 0  # 默认使用 0号db
  cache:
    redis:
      time-to-live: 1800000  # 设置缓存数据的过期时间,30分钟

mybatis-plus:
  configuration:
    #在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,开启按照驼峰命名法映射
    map-underscore-to-camel-case: true #将以下划线作分隔符的部分 换成大写字母
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      id-type: ASSIGN_ID

#自定义的文件上传存储位置
takeOutFile:
  fileLocaltion: D:\my_reggie\takeOutUploadFile

5.编写启动类

package com.springboot.reggie;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@Slf4j
@SpringBootApplication
//创建一个启动类
public class ReggieApplication {
    public static void main(String[] args)
    {
        SpringApplication.run(ReggieApplication.class,args);
        log.info("项目启动成功...");
    }
}

在这里插入图片描述

导入前端部分(重点:静态资源的映射)

因为这个项目练习的是后端的,所以前端直接导入即可。
直接复制粘贴到resources目录下
在这里插入图片描述
导入之后想要查看后端的index页面,直接输入http://localhost:8080/backened/index.html,发现报错。
在这里插入图片描述

package com.springboot.reggie.config;

import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
@Slf4j
@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {
    /**
     * 设置静态资源映射
     * param registry
     */
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry)
    {
        log.info("开始进行静态资源映射");//加上日志,方便调试
        registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/");
        registry.addResourceHandler("/front/**").addResourceLocations("classpath:/front/");
    }

}

原因:默认情况下只能访问static或者是public目录下的资源
解决方法:可以通过配置类的方式,设置静态类的映射。编写一个配置类,配置MVC框架静态资源的映射。
其实上面的backened还拼错了,应该是backend,我用了mvn clean,mvn compile等发现还是不行,还换了端口,将8080换成8060,最后发现是拼写拼错了
在这里插入图片描述

至此,项目的初始环境搭建完毕

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

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

相关文章

(数组与矩阵) 剑指 Offer 29. 顺时针打印矩阵 ——【Leetcode每日一题】

❓ 剑指 Offer 29. 顺时针打印矩阵 难度:简单 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2: 输…

DP转HDMI方案芯片-CS5218/CS5263/CS5363/CS5463详细参数对比说明

CS5218/CS5263/CS5363/CS5463都可用于设计DP转HDMI转接线方案,但几者间不管封装还是功能参数都有差异,如下介绍对比下: CS5218 DP to HDMI(4K30HZ) ,CS5218管脚定义参数说明和设计电路图: ​ ​ CS5263 DP to HDMI 4…

Kubernetes_1.27.3_Harbor结合Nacos实战

Nacos 实战 作者:行癫(盗版必究) 一:Nacos简介 1.简介 ​ Nacos是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台;Nacos 致力于帮助您发现、配置和管理微服务;Nacos 提供了一组简单易用的特…

计讯物联5G千兆网关TG463在电力智能巡检机器人的应用功能解析

项目背景 随着国家智能电网建设加速推进,投资规模持续扩大,我国电网智能化、信息化不断提高,传统的电力运维与管理模式早已不能满足智能电网快速发展的需求。因此,在5G无线通信、人工智能、物联网、云计算、大数据、电力等前沿技术…

Error: The client is unauthorized due to authentication failure.解决办法

进入到neo4j的安装目录 修改neo4j.conf配置文件 把红框的注释#去掉保存后,重新运行neo4j,问题解决

【Python统计与数据分析实战_01】位置与分散程度的度量

数据描述性分析 1.描述统计量1.1 位置与分散程度的度量1.1.1 例子一 单维数组1.1.2 例子二 多维数组 1.2 关系度量1.3 分布形状的度量1.3.1 统计量:偏度和峰度 1.4 数据特性的总括 1.描述统计量 数据的统计分析分为统计描述和统计推断两部分。前者通过绘制统计图、…

Vue3.0的设计目标是什么?做了哪些优化?

一、设计目标 不以解决实际业务痛点的更新都是耍流氓,下面我们来列举一下Vue3之前我们或许会面临的问题 随着功能的增长,复杂组件的代码变得越来越难以维护 缺少一种比较「干净」的在多个组件之间提取和复用逻辑的机制 类型推断不够友好 bundle的时间太久了 而 Vue3 经过长达…

RuoYi-Vue/vue项目访问 webpack 中定义的变量

前言 RuoYi-Vue 3.8.4 webpack 中定义的变量 vue.config.js 中定义的 webpack 的变量 在html页面中&#xff0c;如何访问 webpack 的变量 <title><% webpackConfig.name %></title>参考&#xff1a;ruoyi-ui/public/index.html 文件

【分布式训练】基于Pytorch的分布式数据并行训练

基于Pytorch的分布式数据并行训练 动机为什么要并行分布数据&#xff1f;现有资料的不足 Outline整体框架图带解释的最小demo示例没有multiprocessing开启multiprocessing 分布式训练启动方式混合精度训练&#xff08;采用apex&#xff09; 参考资料 简介&#xff1a; 在PyTorc…

一则 MySQL 参数设置不当导致复制中断的故障案例

本文分享了一个数据库参数错误配置导致复制中断的问题&#xff0c;以及对参数配置的建议。 作者&#xff1a;秦福朗 爱可生 DBA 团队成员&#xff0c;负责项目日常问题处理及公司平台问题排查。热爱互联网&#xff0c;会摄影、懂厨艺&#xff0c;不会厨艺的 DBA 不是好司机&…

Linux学习之运算符

是赋值运算符&#xff0c;可以把一个变量设置上特定的值&#xff0c;而算术运算符就包括加减乘除&#xff08;、-、*、/&#xff09;&#xff0c;需要使用expr这个命令进行运算。 expr 5 7可以计算出来5与7的和&#xff0c;使用echo $?可以看到expr 5 7这个命令的返回值是0&…

神经网络正则化之BN/LN/GN的原理

1. BN层原理 torch.nn.BatchNorm2d(num_features, eps1e-05, momentum0.1, affineTrue, track_running_statsTrue,deviceNone,dtypeNone) 为什么用BN? 加速训练。之前训练慢是因为在训练过程中&#xff0c;整体分布逐渐往非线性函数的取值区间的上下限端靠近(参考sigmoid函数…

10.6.5 【Linux】分区命令: split

如果你有文件太大&#xff0c;导致一些携带式设备无法复制的问题&#xff0c;split可以将一个大文件&#xff0c;依据文件大小或行数来分区&#xff0c;可以将大文件分区成为小文件&#xff0c;快速有效。 将文件分区的话&#xff0c;使用-b size来将一个分区的文件限制其大小&…

软件测试岗位之我所思我所见

从业以来&#xff0c;见过很多人&#xff0c;看过很多事。唯独“测试”我觉得是我自己选的路。所以现在这个时间点&#xff0c;我想分享下我对测试的看法&#xff1a; 1、测试 &#xff1a;“轻松” “劳累” 作为一个测试&#xff0c;你可以轻松的没有下限&#xff0c;也可…

重写equals为什么要重写hashCode(配合源码分析)

目录 一、hashCode的概念 二、为什么要有hashCode 三、为什么重写equals要重写hashCode 四、HashSet源码分析 五、容易记混的点 一、hashCode的概念 hashCode()是Object定义的方法&#xff0c;它将返回一个整型值&#xff0c;这个方法通常用来将对象的内存地址转换为整数之…

postman批量执行请求,通过json传参

1、创建请求 "authUid":"{{authUid}}", 加粗为需要替换的参数 2、组装JSON 可通过Excel自动填充功能构造数据 [ {"authUid":"18700000001"}, {"authUid":"18725929202"} ] 3、批量执行请求配置 4、然后start r…

「网络编程」传输层协议_ UDP协议学习_及原理深入理解

「前言」文章内容大致是传输层协议&#xff0c;UDP协议讲解。 「归属专栏」网络编程 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、传输层二、UDP协议2.1 再谈端口号2.2.1 端口号范围划分2.2.2 认识知名端口号2.2.3 端口号注意问题2.2.4 netstat命令和pidof命令 2.2 UD…

实时数据集成的完美搭档:CDC技术与Kafka集成的解决方案

目录 一、实时数据同步 二、可靠的数据传输 三、灵活的数据处理 四、解耦数据系统 五、主流免费CDC工具介绍 六、Flink CDC安装使用步骤&#xff1a; 七、ETL CDC安装使用步骤 八、写在最后 一、实时数据同步 随着企业数据不断增长&#xff0c;如何高效地捕获、同步和…

如何将视频音频提取出来?这几个方法真的实用!

在视频制作和后期处理中&#xff0c;有时我们需要将视频中的音频提取出来&#xff0c;以便单独处理&#xff0c;如剪辑、增强声音等&#xff0c;而不影响视频内容。为了帮助您实现这一目标&#xff0c;下面将介绍几种常用的方法来提取视频音频。 方法一&#xff1a;记灵在线工…

SSH服务(二十六)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、概述 二、特点 三、身份验证机制 四、验证过程 五、加密机制 六、基本参数 ​七、 身份验证机制 八、基本操作 1. ssh 2. scp 3. sftp 4. 密钥对验证 总结 前…