整理记录下学习整个瑞吉外卖项目,详细代码可在我的Gitee仓库瑞吉外卖实战克隆下载学习使用!
本人最近刚学了SpringBoot的相关知识,就想着找个项目来完完全全过一遍SpringBoot项目相关开发流程,顺便巩固一下自己学过的知识,加深自己的理解。
所使用的项目来源于Bilibili黑马程序员UP主视频课上,收藏率很高,从开发到部署都涉及到,跟着做一遍收获比较多,也能学到一些软件设计开发部署相关知识。
数据库表一共有11张表,分为类别、菜品、员工、用户、订单五个类别,其中类别有category表,setmeal套餐表,dish菜品表,菜品有菜品口味表dish_flavor和套餐菜品关联表setmeal_dish,员工有employee表,用户有user表,订单有地址表address_book、购物车表shopping_cart表、orders表及订单详情表order_detial表。
所有的数据库表的建立,数据都导出在sql文件中,使用的时候直接执行sql文件即可。
打开POM文件,如下配置:
4.0.0 com.example MyTakeAway 1.0-SNAPSHOT MyTakeAway jar spring-boot-starter-parent org.springframework.boot 2.7.9
1.8 true 1.2.6 8.0.29 3.5.1 3.1.1 1.1.1 1.4.7 1.4 1.2.62 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-aop org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-starter-cache com.alibaba druid-spring-boot-starter ${druid.version} mysql mysql-connector-java ${mysql-connector.version} org.projectlombok lombok true org.springframework.boot spring-boot-configuration-processor true com.baomidou mybatis-plus-boot-starter ${mybatis-plus.version} com.baomidou mybatis-plus-generator ${mybatis-plus.version} com.alibaba fastjson ${fastjson.version} org.apache.commons commons-email ${commons-email.version} javax.activation activation ${javax.activation.version} com.twelvemonkeys.common common-lang ${common-lang.version} javax.mail mail ${javax.mail.version} org.springframework.boot spring-boot-maven-plugin
# 端口号
server: port: 8080
#··配置项目所用数据库
spring: application: name: takeAwayDemo datasource: username: root password: root url: jdbc:mysql://localhost:3306/myTakeAway driver-class-name: com.mysql.cj.jdbc.Driver mybatis-plus: configuration:
# 开启驼峰命名法匹配实体类与数据库表名 map-underscore-to-camel-case: true log-impl: org.apache.ibatis.logging.slf4j.Slf4jLoggerImpl
# 全局配置,指定数据库主键类型 global-config: db-config: id-type: assign_id
@Slf4j
@SpringBootApplication
public class TakeAwayApplication { public static void main(String[] args) { SpringApplication.run(TakeAwayApplication.class,args); log.info("项目成功启动!"); }
}
@Configuration
@Slf4j
public class WebMVCConfig extends WebMvcConfigurationSupport
{
// 将resources目录下的静态资源路径映射为可访问的路径 @Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { log.info("开始静态资源映射!"); registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/"); registry.addResourceHandler("/front/**").addResourceLocations("classpath:/front/"); }
}
项目结构如图,其中service包下还有impl包,resources下的front是移动端前台页面资源,backend是后台管理页面,下载复制进去即可。