首页 > 其他分享 >day01-项目介绍与环境搭建

day01-项目介绍与环境搭建

时间:2023-04-14 20:46:27浏览次数:37  
标签:spring day01 boot springframework 介绍 import org com 搭建

项目介绍与环境搭建

1.项目学习前置知识

  1. Java基础知识
  2. javaweb
  3. MySQL
  4. SpringBoot
  5. SSM(Spring,SpringMVC,MyBatis)
  6. Maven

2.学习收获

  1. 了解企业项目开发的完整流程,增长开发经验
  2. 了解需求分析的过程,提高分析和设计能力
  3. 对所学的技术进行灵活应用,提高编码能力
  4. 解决各种异常情况,提高代码调试能力

3.软件开发整体介绍

3.1软件开发流程

image-20230320214544296

3.2角色分工

image-20230320214727600

3.3软件环境

  • 开发环境(development):开发人员在开发阶段使用的环境,一般外部用户无法访问
  • 测试环境(testing):专门给测试人员使用的环境,用于测试项目,一般外部用户无法访问
  • 生产环境(production):即线上环境,正式提供对外服务的环境

4.项目整体介绍

4.1项目介绍

本项目是专门为餐饮企业(餐厅,饭店)定制的一款软件产品,包括系统管理后台和移动端应用两个部分。其中系统管理后台主要提供给餐饮企业内部员工使用,可以对餐厅的菜品,套餐,订单等进行管理维护。移动端应用是提供给消费者使用,可以在线浏览菜品,添加购物车,下单等

本项目共分为3期进行开发:

  • 第一期主要实现基本需求,其中移动端应用通过H5实现,用户可以通过手机浏览器访问

  • 第二期主要针对移动端应用进行改进,使用微信小程序实现,用户使用起来更加方便

  • 第三期主要针对系统进行优化升级,提高系统的访问性能

4.2产品原型展示

产品原型,就是一款产品成型之前的一个简单的框架,就是将页面的排版布局展现出来,使产品的初步构思有一个可视化的展示。通过原型展示,可以更加直观地了解项目的需求和提供的功能。

产品原型主要用于展示项目的功能,并不是最终的页面功能

4.2.1管理端

  • 后台登录

    image-20230320220530833
  • 订单明细

    image-20230320220709692
  • 套餐管理

    image-20230320221125391

4.2.2用户端

  • 地址管理

    image-20230320225543151
  • 点餐页面&购物车

    image-20230320225736153 image-20230320230040496

  • 订单查询

    image-20230320230156989

4.3技术选型

image-20230320230441700

4.4功能架构

image-20230320231355969

4.5角色

  • 后天系统管理员:登录后台管理系统,拥有后天系统中的所有操作权限
  • 后台系统普通员工:登录后天管理系统,对菜品、套餐、订单等进行管理
  • C端用户:登录移动端应用,可以浏览菜品、添加购物车、设置地址、在线下单等

5.开发环境搭建

5.1数据库环境

sql文件见项目文件夹

序号 表名 说明
1 employee 员工表
2 category 菜品和套餐分类表
3 dish 菜品表
4 setmeal 套餐表
5 setmeal_dish 套餐菜品关系表
6 dish_flavor 菜品口味关系表
7 user 用户表(C端)
8 address_book 地址簿表
9 shopping_cart 购物车表
10 orders 订单表
11 order_detail 订单明细表

5.2搭建maven项目

(1)File-New-Project-Maven-不用选择模板直接Next-输入项目名,坐标-Finish

(2)导入pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.li</groupId>
    <artifactId>reggie-take-out</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--指定jdk版本-->
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <!--导入父工程-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.3</version>
        <relativePath/>
    </parent>

    <dependencies>
        <!--spring-boot核心启动器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <!--springboot starter-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!--web starter-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <scope>compile</scope>
        </dependency>

        <!--mybatis-plus的springboot支持-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>

        <!--Lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.20</version>
        </dependency>

        <!--用于对JSON格式的数据进行解析和打包-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.76</version>
        </dependency>

        <!--提供有用的Util类-->
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>

        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <!--druid starter-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.23</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <!--将SpringBoot应用打包为可执行的jar或war文件,
					以通常的方式运行springboot应用-->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.5.3</version>
            </plugin>
        </plugins>
    </build>

</project>

(3)配置文件application.yml

server:
  port: 8080 #端口号
spring:
  application: #应用名称
    name: reggie-take-out
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/reggie?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
      username: root
      password: 123456
mybatis-plus:
  configuration:
    #在映射实体或者属性时,将数据库中表名和表的字段名中的下划线去掉,然后按照驼峰命名法映射
    # 如 address_book-->addressBook  user_name-->userName
    map-underscore-to-camel-case: true # 默认就是开启的
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      id-type: ASSIGN_ID

(4)编写启动类

package com.li.reggie;

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @author 李
 * @version 1.0
 */
@Slf4j
@SpringBootApplication
public class ReggieApplication {
    public static void main(String[] args) {
        SpringApplication.run(ReggieApplication.class, args);
        log.info("项目启动成功...");
    }
}

运行测试:

image-20230407212244753

(5)导入前端的代码资源

resources
|
|-------backend 资源目录
|
|-------front 资源目录

(6)配置静态资源映射路径

package com.li.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;

/**
 * @author 李
 * @version 1.0
 */
@Slf4j
@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {
    /**
     * 进行静态资源映射,也可以直接在配置文件中配置
     *
     * @param registry
     */
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        log.info("开始进行静态资源映射...");
        //将接收到的 http://ip+port/backend/** 请求,映射到路径的 /backend/ 目录下
        registry.addResourceHandler("/backend/**")
                .addResourceLocations("classpath:/backend/");

        //将接收到的 http://ip+port/front/** 请求,映射到路径的 /front/ 目录下
        registry.addResourceHandler("/front/**")
                .addResourceLocations("classpath:/front/");
    }
}

标签:spring,day01,boot,springframework,介绍,import,org,com,搭建
From: https://www.cnblogs.com/liyuelian/p/17319888.html

相关文章

  • Nacos笔记(一):环境搭建
    1、Nacos下载登录Nacos官网:https://github.com/alibaba/nacos/releases,下载Nacos服务及源码,这里下载的是Linux版本:         nacos-server-2.2.0.zip是Windows版本。2、Linux部署单机版Nacos服务将下载的tar.gz上传......
  • docker01 flask-sqlalchemy flask-migrate使用 flask项目演示 docker介绍与安装
    今日内容详细目录今日内容详细1flask-sqlalchemy使用2flask-migrate使用3flask项目演示4docker介绍4.1什么是虚拟化4.2docker是什么4.3容器与虚拟机比较4.4Docker概念5docker安装1flask-sqlalchemy使用#集成到flask中,直接使用sqlalchemy,看代码#有个第三方flask-sq......
  • 50 kWp并网光伏实验电站的综合设计、搭建与运行 | 并网光伏发电 | 垂杨光伏
    太阳能作为新能源的重要组成部分,凭借巨大的资源优势,其应用规模日益扩大并随着光伏发电技术的快速发展,各种新型光伏器件不断问世,为太阳能的开发利用提供了更多的机遇和发展潜力。考虑到现有光伏电站选用器件较为传统单一,不能满足于对新型光伏器件的性能进行实证对比研究,从而......
  • 未来源码|什么是数据集成?超全的SeaTunnel 集成工具介绍
    以下文章来源于大数据与云原生技术分享,作者liugp推荐语:随着互联网流量爆发式增长,越来越多的公司业务需要支撑海量数据存储,对高并发、高可用、高可扩展性等特性提出了更高的要求。这也促使各种类型的数据库快速发展,至今常见数据库已经达到200多个。与之相伴的便是,各种数据库之间......
  • 图文介绍 Windows 系统下打包上传 IOS APP 流程
    现在很多伙伴跨平台开发应用,有些童鞋没有苹果机,本文将介绍,如何在Windows系统环境下直接上架APP,不用去搞虚拟机之类的了,Windows下照样轻松打包上架iOSAPP。下面从七个步骤进行详细介绍!1、创建唯一标示符AppIDs2、申请发布证书3、申请发布描述文件4、iTunesConnect......
  • docker-day4——Dockerfile、docker私有仓库、dockercompose介绍、dockercompose部署f
    目录一、Dockerfile1.1常用和不常用命令1.2dockerfile构建一个djagno项目二、docker私有仓库2.1镜像传到官方仓库2.2镜像分层2.3私有仓库搭建三、dockercompose介绍四、dockercompose部署flask+redis项目4.1新建flask项目app.py4.2编写Dockerfile--》用于构建flask项目的......
  • 简单域渗透环境搭建
    0x00TCP/IP基础概念IP地址IP地址可以划分为两个部分,网络号和主机号部分,网络号表示所属的网络段编号,主机号表示该网段中该主机的地址编号。IP地址可以分为A、B、C、D、E五类:A类:0.0.0.0-127.255.255.255B类:128.0.0.0-191.255.255.255C类:192.0.0.0-223.255.255.255D类:224.0.0......
  • 发卡网平台搭建架设教程
    发卡网平台搭建架设教程我是艾西,今天跟大家聊聊什么是发卡网以及发卡平台的搭建架设发卡网平台:主要是寄售一些虚拟产品和服务。发卡网具体能售卖些什么呢?例如:电商优惠券/折扣卷、论坛邀请码、注册码以及积分充值卡,软件认证码、注册码还有各大视频平台的CDK激活码等!当然还可以提供......
  • ncurses 库使用介绍: 实现终端 GUI
    这次ENGG1340课程的groupproject是设计并实现一个text-basegame,作为终端上运行的text-basegame,有一个出彩的GUI肯定是一个加分项!在未老师的介绍下,我知道了有<ncurses.h>库这么一个神奇的东西;最重要的是,虽然它不属于C++标准库,但是在学校server里居然默认下载好了......
  • 呼叫中心系统如何搭建
    今天,本篇文章就解析一下,呼叫中心系统如何搭建,步骤有哪些。1.坐席设置当我们拿到自己申请的云呼叫中心账号时,将已经开通的云呼叫中心账号,绑定到一个具体的呼叫中心坐席账号上,即可开始进行呼入和呼出了。2.技能组设置如果客服功能较为复杂或分支较多,可以采用技能组设置的方式,将......