项目技术介绍
项目采用–前后端分离开发
主要技术:
后端技术:springboot、springcloud、mybatis-plus、springcurity、redis、maven、easyexcel、jwt、oauth2
前端技术:vue+elementui+axios+nodejs
其他技术:阿里云 oss、阿里云视频点播服务、阿里云短信服务、微信支付和登录、docker、git、jenkins
讲师管理系统后端开发
准备工作
1.创建数据库guli,创建讲师数据表edu_teacher
数据库设计规则参考《阿里巴巴Java开发手册》
表必备三字段:id,gmt_create,gmt_modified
CREATE TABLE `edu_teacher` (
`id` char(19) NOT NULL COMMENT '讲师ID',
`name` varchar(20) NOT NULL COMMENT '讲师姓名',
`intro` varchar(500) NOT NULL DEFAULT '' COMMENT '讲师简介',
`career` varchar(500) DEFAULT NULL COMMENT '讲师资历,一句话说明讲师',
`level` int(10) unsigned NOT NULL COMMENT '头衔 1高级讲师 2首席讲师',
`avatar` varchar(255) DEFAULT NULL COMMENT '讲师头像',
`sort` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '排序',
`is_deleted` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '逻辑删除 1(true)已删除, 0(false)未删除',
`gmt_create` datetime NOT NULL COMMENT '创建时间',
`gmt_modified` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='讲师';
2.创建项目结构
创建父工程----pom类型,管理依赖版本和公共依赖 springboot工程
子模块一 maven工程
子子模块一 maven工程
子子模块二
子模块二
子子模块一
子子模块二
.……
环境搭建
1.创建一个springboot项目
2.修改springboot依赖的版本号为2.2.1.RELEASE
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RElEASE</version>
<relativePath/>
</parent>
3.修改类型为pom
<artifactId>guli_parent</artifactId>
<packaging>pom</packaging>
<version>0.0.1-SNAPSHOT</version>
4.删除pom.xml中的内容
删除
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
5.添加< properties >确定依赖的版本
<properties>
<java.version>1.8</java.version>
<guli.version>0.0.1-SNAPSHOT</guli.version>
<mybatis-plus.version>3.0.5</mybatis-plus.version>
<velocity.version>2.0</velocity.version>
<swagger.version>2.9.2</swagger.version>
<aliyun.oss.version>2.8.3</aliyun.oss.version>
<jodatime.version>2.10.1</jodatime.version>
<poi.version>3.17</poi.version>
<commons-fileupload.version>1.3.1</commons-fileupload.version>
<commons-io.version>2.6</commons-io.version>
<httpclient<