Spring Boot+Vue3前后端分离实战wiki知识库系统之Spring Boot项目搭建
创始人
2024-04-02 14:13:13

新建SpringBoot项目【标SpringBoot项目目录结构】

两种创建Springboot的方式

使用spring官网提供的构建

在这里插入图片描述

选择自己需要的配置后下载压缩包解压后,使用IDEA引入项目,选择File→Open File or Project,选择解压后的文件夹,单击OK按钮,项目即可创建完成。

直接使用IDEA创建

选择Spring Initializr
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Group:一般输入公司域名,比如百度公司就会输入com.baidu,本次演示输入com.weiz。
Artifact:可以理解为项目的名称,用户根据实际情况来输入
Dependencies:添加项目所依赖的Spring Boot组件,可以多选。
如果依赖包下载很慢的话我们可以通过修改settings file自己配置一些maven镜像:
在这里插入图片描述

目录分析

在这里插入图片描述
idea是IDEA项目特有的文件,一般我们提价代码的时候不需要提交这个。
.mvn下有wrapper,可以不用下载maven直接用里面的包来配置,但我们一般用不到,。在这里插入图片描述
src下就是我们所开发的代码以及测试代码:
在这里插入图片描述
其中有Application.java是项目的启动类
resources下有static和templates:
static:存放Web访问的静态资源,如JS、CSS、图片等。
templates:存放页面模板。application.properties:存放项目的配置信息。
SpringBoot官方推荐前端使用Thtmeleaf,不过我们这个项目使用前后端分离用Vue Cli,使用最新的vue3,所以static和templates我们可以删掉。
test目录存放单元测试的代码,目录结构和java目录保持一致。
.gitignore可以配置git的时候有哪些文件需要忽略掉。
pom.xml用于配置项目依赖包以及其他配置。

项目的依赖信息主要分为parent和dependencies两部分。parent:配置父级项目的信息。Maven支持项目的父子结构,引入后会默认继承父级的配置。此项目中引入spring-boot-starter-parent定义Spring Boot的基础版本。dependencies:配置项目所需要的依赖包,Spring Boot体系内的依赖组件不需要填写具体版本号,spring-boot-starter-parent维护了体系内所有依赖包的版本信息。
在这里插入图片描述

运行Springboot项目

在这里插入图片描述
右击项目中的HelloApplication→run命令就可以启动项目,通过系统的启动日志可以看到,系统运行在8080端口。如果需要切换到其他端口,可在application.properties配置文件中自行定义。
在这里插入图片描述

项目初始配置

编码配置

在设置中修改编码模式为UTF-8
在这里插入图片描述

JDK配置

在这里插入图片描述

Maven配置

可以自己修改setting,可以修改为阿里云镜像这样下载jar包就会更快。修改settings的时候记得修改本地仓库地址为自己的。
在这里插入图片描述

Git配置

启用git
在这里插入图片描述
这时候我们就发现文件名变成红色了表示还没有git,但是我们的.idea中的文件没有变色,因为我们没有将他交给git管理。
在这里插入图片描述
我们可以在version control中看到哪些文件没有交给git管理:
在这里插入图片描述
我们可以将这些选中提交:在这里插入图片描述
当我们修改文件的时候文件名会变成蓝色:
在这里插入图片描述
当我们删除文件的时候文件名会变成灰色,我们可以使用revert来恢复文件:
在这里插入图片描述

在这里插入图片描述

总结

在这里插入图片描述

代码关联Git远程仓库

在这里插入图片描述
网上有很多博客可以参考,这里不再赘述。

启动日志优化

在这里插入图片描述

logback日志样式修改

在这里插入图片描述

 

%d{ss.SSS} %highlight(%-5level) %blue(%-30logger{30}:%-4line) %thread %green(%-18X{LOG_ID}) %msg%n${PATH}/trace.log${PATH}/trace.%d{yyyy-MM-dd}.%i.log10MB%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %green(%-18X{LOG_ID}) %msg%n${PATH}/error.log${PATH}/error.%d{yyyy-MM-dd}.%i.log10MB%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %green(%-18X{LOG_ID}) %msg%nERRORACCEPTDENY

我们修改了输出日志的时间。在根目录下的会出现一个log文件夹用以保存我们的日志,这时候我们需要在.gitgnore中修改日志文件为不提交状态。
在这里插入图片描述

增加启动成功日志

在这里插入图片描述
在application.properties中修改启动端口:
在这里插入图片描述
运行项目可以看到启动日志:
在这里插入图片描述

修改启动图案

在项目的resources目录下新建banner.tx。
在application.properties中配置banner.txt的路径等信息(好像不需要也行 )
在这里插入图片描述

开发Hello World接口

在这里插入图片描述

制作Hello World接口

在这里插入图片描述
在这里插入图片描述
@RestController:返回客户端数据请求,主要用于RESTful接口。@Controller:返回数据和页面,处理HTTP请求。由于我们这个项目使用的是前后端分离所以基本都是使用@RestController。@RequestMapping(“/hello”)提供路由映射,意思是"/hello"路径的HTTP请求都会被映射到hello()方法上进行处理。我们也可以对于不同的请求方式设置不同的注解,例如:
在这里插入图片描述

项目分层,启动类换位置换位置

我们创建一个config文件夹,将启动类放进去:
在这里插入图片描述
启动项目,这时候我们发现请求报错404
在这里插入图片描述
那是因为我们启动的时候默认扫描启动类的目录下,而我们现在已经把启动类换位置了,所以得自己编写注解ComponentScan,设置扫描的路径(可以用逗号添加多个包):
在这里插入图片描述
修改完后就能正常访问接口了。

使用HTTP Client测试接口

自带浏览器没办法使用post等接口,使用postman时也需要进行窗口切换,所以我们下面使用自带的工具进行接口测试。
在这里插入图片描述
在根目录下新建一个http文件夹
在这里插入图片描述
在这里插入图片描述
新建文件后缀必须是http,编写好测试语句点击左侧的运行按钮就可以测试了。
在这里插入图片描述
我们可以通过设置live templates来简化开发:
在这里插入图片描述
这样编写代码的时候输入关键词就能自动补全。
下面我们编写一个post接口:

    @GetMapping("/hello")public String hello() {return "Hello World!" + testHello;}

进行测试:

###POST http://localhost:8880/hello/post
Content-Type: application/x-www-form-urlencodedname=TEST###

测试结果:
在这里插入图片描述
我们使用这种测试方法就可以不用切换窗口比较便利。此外还可以进行结果验证,例如:
在这里插入图片描述
运行脚本进行结果验证:

SpringBoot配置文件【自定义配置项】

默认支持的配置文件

Spring Boot支持两种不同格式的配置文件:一种是Properties,另一种是YML。Spring Boot默认使用application.properties作为系统配置文件,项目创建成功后会默认在resources目录下生成application.properties文件。该文件包含Spring Boot项目的全局配置。我们可以在application.properties文件中配置Spring Boot支持的所有配置项,比如端口号、数据库连接、日志、启动图案等。
Spring Boot项目的配置文件默认存放在resources目录中。实际上,Spring Boot系统启动时会读取4个不同路径下的配置文件:
1)项目根目录下的config目录。
2)项目根目录。
3)classpath下的config目录。
4)classpath目录。

所以我们再创建配置文件系统也能自动读取到:
在这里插入图片描述
在这里插入图片描述

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

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

自定义配置项

在这里插入图片描述
我们可以直接在代码中使用:
在这里插入图片描述
冒号后面是默认的配置值,如果没有读取到相关配置,就会使用默认值。

继承热部署

在这里插入图片描述
首先先添加依赖:

        org.springframework.bootspring-boot-devtools

然后勾选如下图蓝色的选项
在这里插入图片描述
搜索registry
在这里插入图片描述
勾选如下图蓝色的选项:
在这里插入图片描述

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...