文章写于2023年7月1日,目前使用的配置尽量用最新的,如果晚于这个日期很久,请参考新的配置.
使用MyBatis plus搭建框架后使用swagger或者采用的Spring 3后使用swagger 3,启动项目出现如下错误:Type javax.servlet.http.HttpServletRequest not present
其根本原因是spring3目前不支持swagger产生的问题.解决方法有两种一种改为spring2,另外就是找一个swagger的代替品.
作为一个倔强的程序员(我一直认为这个是程序员应该有的良好品质),是绝对不会放弃新版本的spring3的,所以只能更换swagger了.
接下来我们将对程序进行两次升级.下面将用一个案例来说明.别担心,很简单.
首先做好准备工作.
1.创建两张MySql表
CREATE TABLE `address` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键:用户地址编号',
`usersId` int NULL COMMENT '外键:用户编号',
`tel` varchar(20) NULL COMMENT '电话',
`location` varchar(200) NULL COMMENT '详细地址',
`recipient` varchar(20) NULL COMMENT '收件人',
`locationName` varchar(20) NULL COMMENT '命名的收件地址',
`deleted` tinyint NULL COMMENT '逻辑删除',
PRIMARY KEY (`id`)
);
CREATE TABLE `users` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键:用户编号',
`userName` varchar(20) NULL COMMENT '姓名',
`password` varchar(20) NULL COMMENT '登录密码',
`age` int NULL COMMENT '年龄',
`email` varchar(50) NULL COMMENT '邮箱,登录名',
`deleted` tinyint NULL COMMENT '逻辑删除',
PRIMARY KEY (`id`)
) COMMENT = '用户表';
ALTER TABLE `address` ADD CONSTRAINT `fk_address_users_1` FOREIGN KEY (`usersId`) REFERENCES `users` (`id`);
2.创建好项目,搭建项目框架,本次仍然是使用Spring boot ,MyBatis Plus进行项目搭建,先添加pom文件,注意里面被注释的内容,被注释的内容是第二次升级需要用到的代码.具体代码如下:(以下的代码是本篇文章的完整代码)
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.1.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.flamelp</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>MP_Redis_SpringDoc</name>
<description>MP_Redis_SpringDoc</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<!-- redis,jedis,cache,spring boot web,thymeleaf,mybatis-spring,lombok-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring