6.24 达内知道项目 准备工作

本文详细介绍如何使用SpringBoot搭建聚合项目,涉及创建父项目、子项目,配置父子关系,以及数据库设计、Lombok和MyBatisPlus的应用。通过达内知道项目实例,探讨登录、注册、数据迁移与简化开发工具的使用。
摘要由CSDN通过智能技术生成

SpringBoot聚合项目

什么是聚合项目

聚合项目是一种项目结构,这个结构由Maven提供

这个结构的特征是可以创建一个父项目,在这个父项目中可以创建多个子项目(聚合项目)

这么做能够将本来在一个项目中的代码分散到多个项目中,每个项目专心编写自己的功能,互不干扰,提高开发效率,降低维护难度

聚合项目示例(举个例子,不做这个项目)

在这里插入图片描述

(1)创建 外层 父项目

在这里插入图片描述在这里插入图片描述在这里插入图片描述然后 点 Finish , 然后 底下会 自动下载
在这里插入图片描述

修改父项目的pom.xml文件最终xml代码为

删除<dependencies> </dependencies><build> </build>里的代码,然后 点刷新
在这里插入图片描述在这里插入图片描述如果maven在下载的过程中报错,按下面步骤进行调试:
1.检查idea的setting文件配置

在这里插入图片描述
2.关闭所有杀毒软件和防火墙
3.更换网络,如果用的是教室网络,更换为手机的4G或热点 再试

4.打开.m2的repository文件夹文件夹,找到报错的位置,删除对应的文件,然后刷新,重新下载(因为网慢,下载到一半就跳过了,导致没下完,所以报错)

(2)创建子项目

jd-shop 和 jd-backend
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述子项目创建完毕,需要 配置和父项目的关系,这个步骤我们称之为"父子相认"

(3)父子相认

先在 父项目的pom.xml文件添加
在这里插入图片描述然后 把父项目 这三行 复制,粘贴 到 子项目pom.xml文件中
在这里插入图片描述在这里插入图片描述同样的方法,创建 子项目 jd-backend
在这里插入图片描述


达内知道项目概述

达内知道项目是采用了聚合项目结构,支持高并发、高可用、高性能扩展的互联网应用程序

登录、注册和问答模块

实现的功能有:
用户登录、学生注册、显示学生首页、学生提问、完善学生首页、显示讲师首页、显示问题详情页、讲师回复、显示讲师回复列表、讲师或学生评论(增、删、改、查)、学生采纳答案

  1. 用户登录(Spring-Security 实现密码加密,权限管理等,并进行 登录验证 与 授权控制)
  2. 学生注册(Spring-Validation 前后端双重验证,防黑客)
  3. 学生首页(包含显示所有标签,显示当前登录学生的问题列表,PageHelper分页)
  4. 学生提问(模板复用所有标签,加载标签和讲师,富文本编辑器,v-select,文件上传,学生提问)
  5. 完善首页(显示问题状态,用户信息面板,以及复用)
  6. 讲师首页(查询讲师任务列表,技术基本和学生问题列表一致)
  7. 问题详情页(显示当前问题信息)
  8. 讲师回复(新增并将讲师回复的问题显示在回答列表中)
  9. 显示讲师回复列表(将新增的回答显示在回答列表中)
  10. 评论的增删改查(将新增的评论显示在评论列表中、同步页面删除效果)
  11. 问题的采纳

项目主要功能:
在这里插入图片描述项目最终模块展示:
在这里插入图片描述
开发本项目的基本流程:

  • 开发单体项目,完成基本功能
    注册
    登录
    用户首页
    学生提问
    问题详情
    讲师回答
    显示回答
    添加评论
    显示评论
    评论的删除和修改
    问题的采纳
  • 单体项目开发成微服务
    微服务基本概念
    注册中心
    网关
    拆分项目
    搜索模块
    整体部署运行

项目流程:

1、创建达内知道项目

(1)创建父项目

knows(知道)
在这里插入图片描述

在这里插入图片描述在这里插入图片描述修改父项目的pom.xml文件最终xml代码为

删除<dependencies> </dependencies><build> </build>里暂时没用的代码,然后 点刷新
在这里插入图片描述

(2)创建子项目

knows-portal(门户)

portal是我们当前要编写达内知道项目的主要项目,包含我们项目中的所有业务代码
在这里插入图片描述在这里插入图片描述在这里插入图片描述
子项目创建完毕,需要 配置和父项目的关系,这个步骤我们称之为"父子相认"

(3)父子相认

先在 父项目的pom.xml文件添加
在这里插入图片描述然后 把父项目 这三行 复制,粘贴 到 子项目pom.xml文件中
在这里插入图片描述在这里插入图片描述可以把子项目的<build> </build>里的代码 删掉
<dependencies> </dependencies>里的代码留着
在这里插入图片描述

(3)复制静态资源文件:

老师提供的原型网页、数据库代码等

把老师给的 原型网页里20个,复制 粘贴到 idea 这个文件夹里
在这里插入图片描述在这里插入图片描述如果报错,就把 Idea 软件关了重新打开,就好了

复制完毕之后,我们可以启动 portal 项目

打开浏览器输入localhost:8080/index_student.html测试访问
在这里插入图片描述在这里插入图片描述

(4)将数据导入数据库
将老师发的 knows_v3.sql 文件中的代码复制到 HeidiSql 中运行,就能获得达内知道项目的数据库中的内容了

首先 启动 电脑上的MySql 服务
在这里插入图片描述

打开HeidiSQL 软件(显示数据库的软件)
              Mariadb国斌阶段讲的
Mariadb(开发mysql 那人单独做的一个软件)与 mysql(被Oracle收购了),所以它两可以说是一个软件,命令啥的一模一样
安装的MariaDb,安装包自带一个可视化工具:heidiSQL
所以 在桌面左下角,搜索HeidiSQL
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
先试一下 怎么用,点数据 可以看到数据库数据,点查询 可以写 SQL语句,并且查询
在这里插入图片描述
在这里插入图片描述把老师发的 knows_v3.sql 打开,Ctrl+A 全选 复制
在这里插入图片描述在这里插入图片描述产生56个警告,就说明对了,点击确定。 只运行一次
在这里插入图片描述在这里插入图片描述
演示 删库的操作
在这里插入图片描述
达内知道项目总共14张表,点 tag表 演示看一下数据
在这里插入图片描述
达内知道项目总共14张表 (工作了一个项目40多张表)

如果想把一个项目或模块的功能搞清楚,首先要理解它数据库表的设计和内容
在这里插入图片描述中间3个关系表,不是很重要,最后看
重要的看 上面用户 权限那几张表,下面 问题 标签 回答 评论这几张表


(5)Lombok 插件简化开发

编写上面14个表对应的实体类,其中有的表列数在10列以上,那么在编写实体类时就要写10个以上的属性,来对应每个属性都要写get / set方法

这个类就会非常臃肿,我们可以使用Lombok来简化实体类中的get / set方法以及一些其它的常用方法的编写
在这里插入图片描述
要想使用,首先需要在Idea中安装一个插件
在这里插入图片描述在这里插入图片描述插件安装完毕去添加 pom.xml 文件的依赖
在这里插入图片描述
在这里插入图片描述


我们在工作中可能看到很多实体类的包名

例如: entity,model,domain,pojo,bean


测试使用: 编写一个Tag表 对应的实体类

添加了@Data 注解表示启用了lombok
在这里插入图片描述到 测试类 中调用tag对象的set / get方法测试一下
在这里插入图片描述上面的测试代码顺利运行,表示我们的Lombok一切正常

Lombok提供的主要注解有:

  • @Getter@Setter: 自动将当前类中所有的属性生成get \ set方法
  • @ToString: 重写返回当前类属性值的 To String方法
  • @EqualsAndHashCode: 重写当前类的Equals 和 HashCode方法
  • @NoArgsConstructor: 自动生成当前类的 无参构造方法
  • @AllArgsConstructor:自动生成当前类的 全参构造方法
  • @Data: 结合了@Setter@Getter@ToString@EqualsAndHashCode注解的复合注解,使用起来一般就在类上添加一个 @Data就可以了
  • @Slf4j:这个注解会向当前类中添加一个记录日志的对象log,这个log对象可以向java控制台输出日志信息

在这里插入图片描述在这里插入图片描述


在这里插入图片描述在这里插入图片描述

(6)MyBatis Plus简化开发
在这里插入图片描述

MyBatis Plus框架是在MyBatis框架基础上,新增了一些功能的升级版

添加MyBatisPlus的依赖

注意:
SpringBoot框架中自带了很多常见框架的版本号,所以在子项目依赖中,不需要声明版本号就可以添加依赖

但是MyBatis和MyBatisPlus并不在Spring Boot默认支持版本号的列表中
所以我们需要自己定义它们的版本号

推荐的方式是在我们的父项目pom文件中定义版本,并管理它

在 父项目pom.xml文件中添加
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述父项目中定义好了版本

子项目中在添加这个依赖时,就不需要声明版本了,直接使用父项目定义的

在knows-portal项目的pom.xml文件中添加依赖
在这里插入图片描述在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值