最近在学前后端分离的网站搭建,在查看相关教程的时候发现SpringBoot和vue的配置都停留在2版本,用以前的教程配置可以说十分痛苦。
SpringBoot部分:
1、基础文件配置直接去SpringBoot的官网即可解决。https://start.spring.io/
2、mybabits-plus以及代码生成器安装。
mybabits安装十分简单,引入依赖就行。
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot3-starter</artifactId> <version>3.5.9</version> </dependency>
重点介绍代码生成器的配置。
我的代码如下
public class CodeGenerate {
public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://localhost:3306/software?useSSL=false&serverTimezone=UTC", "root", "123456")
.globalConfig(builder -> {
builder.author("yjl") // 设置作者
.enableSwagger() // 开启 swagger 模式
.outputDir("E:\\Build_project\\software\\src\\main\\java"); // 指定输出目录
})
.dataSourceConfig(builder ->
builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
int typeCode = metaInfo.getJdbcType().TYPE_CODE;
if (typeCode == Types.SMALLINT) {
// 自定义类型转换
return DbColumnType.INTEGER;
}
return typeRegistry.getColumnType(metaInfo);
})
)
.packageConfig(builder ->
builder.parent("yjl.example.software") // 设置父包名
// .moduleName("") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.xml, "E:\\Build_project\\software\\src\\main\\resources\\Mapper")) // 设置mapperXml生成路径
)
.strategyConfig(builder ->
builder.addInclude("admin") // 设置需要生成的表名
.addTablePrefix("t_", "c_") // 设置过滤表前缀
)
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}
这里展示一下我的目录,方便知道这个类放在哪,以及父文件的配置
我将代码生成放在了test文件里,这样在运行项目的时候就不会自动运行它。
3、配置Swagger
这个是真的出生,网上的springfox根本用不了,openapi的一直爆maven仓库找不到。(毕竟B站的课太老了),用Knife4j 这个就行。
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>4.4.0</version>
</dependency>
导入了直接开就行。不用搞配置!!!!!!
不用搞配置!!!!!!!!!
Spring3只导依赖,不要配置类!!!!!!!!!!
至于其他的不是特别重要了。
我的情况是doc界面进不去,只能进http://localhost:8080/swagger-ui/index.html
进不去http://localhost:8080/doc.html
4、跨域访问配置
package yjl.example.software;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration // 一定不要忽略此注解
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**") // 所有接口
.allowCredentials(true) // 是否发送 Cookie
.allowedOriginPatterns("*") // 支持域
.allowedMethods(new String[]{"GET", "POST", "PUT", "DELETE"}) // 支持方法
.allowedHeaders("*")
.exposedHeaders("*");
}
}
这个跨域是最好用的,至于什么是跨域,自己去搜嗷,我也是速成的。
Vue部分
使用cnpm!!!!!!!
使用cnpm!!!!!!!
使用cnpm!!!!!!!
使用cnpm!!!!!!!
有问题别急,先试试cnpm。这部分我推别人博客,讲的真的好,2024年11月亲测有效。
vue安装及环境配置(最新)_windows安装vue环境-优快云博客
一定要设置环境变量!!!!!!!!!!!!!!!!!!!!!!!
偷懒小招
这个可以看看,b站也有视频,后面拦截和传入传回也有讲。但是我的IEDA跑不了这个。能跑务必告知我!
woniu-admin: spring boot、spring cloud、mybatis
结尾
我现在基本配好,后面遇到啥问题再更新吧