突然又想学全栈开发,于是又看了几个小时的Spring Boot的入门。
配置环境
花了我好多时间,其中卡了最久的一个问题就是maven的依赖下载不下来,导致pom.xml文件一直报错,后面搜索了很久。
有以下几个问题:
- jdk版本与maven版本不匹配,我的解决方案是降低jdk的版本,根据maven官方给的匹配表格进行配置。链接
我把我的jdk降低到了8的版本(谁能想到我21年末下载的17好像还不匹配)
2.本都仓库文件夹的权限给的不够。这个问题是个主要问题,导致每次依赖都下载不下来,或者下载不全。
我参考的是【Maven】Maven本地仓库无法下载依赖解决方案_mvn 仓库管理不能下载_Jessica_FM的博客-CSDN博客
之后就是跟着视频配置项目
pom.xml文件:项目的依赖都加在里面,每次添加新的依赖都需要刷新下载。
application.properties:项目的配置文件,在里面添加配置语句
resource文件夹主要是放置静态文件和前端页面,但是如果采用前后端分离的方式的话一般用不到。
主要代码是写在java文件夹下,其中一般会有controller文件夹,可以在里面定义项目的控制器。
开启热部署:
主要是在application文件中添加以下两行代码:
spring.devtools.restart.enabled=true
spring.devtools.restart.additional-paths=src/main/java
然后需要进行两个配置操作,值得注意的是在新版的idea里面注册表的操作是在设置打勾的。
热部署的作用就是使得每次更改程序,程序会自动重新编译并运行,这样就节省了一些重复性的操作,使得可以直接刷新页面更新代码。
还学了一个Restful,这是一种风格框架,好像也没什么特别的。
Swagger
这个基本需要在每个项目中进行一次配置,但是配置方法很简单而且固定不变。
首先在pom.xml文件中加入以下代码并更新依赖:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
然后在java下创建文件夹config,并创建SwaggerConfig文件,在里面引入相应的库,并添加如下代码:
@Configuration // 告诉Spring Boot容器,这个类是一个配置类
@EnableSwagger2 // 开启Swagger2功能
public class SwaggerConfig {
// 配置Swagger2核心配置 docket
@Bean
public Docket createRestApi() {
// 指定API类型为Swagger2
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo()) // 用于定义API文档汇总信息
.select()
.apis(RequestHandlerSelectors.basePackage("com"))
.paths(PathSelectors.any()).build();
}
// API文档页面显示信息
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("演示项目API") // 文档页标题
.description("学习Swagger2的演示项目") // 文档页描述
.version("1.0.0") // 文档版本号
.build();
}
}
最后需要在application文件中添加一句话:
spring.mvc.pathmatch.matching-strategy=ant_path_matcher
配置完毕!
之后的话我们运行主程序,然后在浏览器中访问http://localhost:8080/swagger-ui.html。就可以看到swagger的界面了,是一个非常好用调试界面。