專案介紹與環境搭建
1.專案學習前置知識
- Java基礎知識
- javaweb
- MySQL
- SpringBoot
- SSM(Spring,SpringMVC,MyBatis)
- Maven
2.學習識訓
- 了解企業專案開發的完整流程,增長開發經驗
- 了解需求分析的程序,提高分析和設計能力
- 對所學的技術進行靈活應用,提高編碼能力
- 解決各種例外情況,提高代碼除錯能力
3.軟體開發整體介紹
3.1軟體開發流程

3.2角色分工

3.3軟體環境
- 開發環境(development):開發人員在開發階段使用的環境,一般外部用戶無法訪問
- 測驗環境(testing):專門給測驗人員使用的環境,用于測驗專案,一般外部用戶無法訪問
- 生產環境(production):即線上環境,正式提供對外服務的環境
4.專案整體介紹
4.1專案介紹
本專案是專門為餐飲企業(餐廳,飯店)定制的一款軟體產品,包括系統管理后臺和移動端應用兩個部分,其中系統管理后臺主要提供給餐飲企業內部員工使用,可以對餐廳的菜品,套餐,訂單等進行管理維護,移動端應用是提供給消費者使用,可以在線瀏覽菜品,添加購物車,下單等
本專案共分為3期進行開發:
-
第一期主要實作基本需求,其中移動端應用通過H5實作,用戶可以通過手機瀏覽器訪問
-
第二期主要針對移動端應用進行改進,使用微信小程式實作,用戶使用起來更加方便
-
第三期主要針對系統進行優化升級,提高系統的訪問性能
4.2產品原型展示
產品原型,就是一款產品成型之前的一個簡單的框架,就是將頁面的排版布局展現出來,使產品的初步構思有一個可視化的展示,通過原型展示,可以更加直觀地了解專案的需求和提供的功能,
產品原型主要用于展示專案的功能,并不是最終的頁面功能
4.2.1管理端
-
后臺登錄
-
訂單明細
-
套餐管理
4.2.2用戶端
-
地址管理
-
點餐頁面&購物車
-
訂單查詢
4.3技術選型

4.4功能架構

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("專案啟動成功...");
}
}
運行測驗:

(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/");
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/550107.html
標籤:其他
上一篇:linux開發之gdb記錄
下一篇:java -- 執行緒(二)