SpringBoot+Vue3实战wiki知识库--1
SpringBoot项目开发学习笔记,包括环境配置、Git使用、项目创建、日志优化、接口开发、数据库集成等关键环节。详细介绍了如何解决端口占用、Git提交推送、热部署配置、MyBatis集成等常见问题,并提供了代码生成器的使用方法和数据库连接配置技巧。笔记中还包含HTTP接口测试、项目分层规范、日志样式修改等实用内容,以及开发过程中遇到的错误和解决方案,适合作为SpringBoot入门开发的参考手
SpringBoot 优点:
1、搭建简单,开箱即用;2、配置简单,专注代码;3、部署简单,一键启动
基本操作
1、退出后重进Git
点开VCS-->选第一个
2、忽略文件

3、端口8880占用
Windows 系统:
- 打开管理员权限的命令提示符(CMD)或 PowerShell
- 执行命令查找占用 8880 端口的进程 ID:
输出结果中最后一列的数字即为进程 ID(PID)netstat -ano | findstr :8880 - 终止该进程:
(将taskkill /PID 进程ID /F进程ID替换为上一步查到的数字(最后一列))
Linux/Mac 系统:
- 打开终端
- 查找占用 8880 端口的进程:
lsof -i :8880 - 终止进程:
kill -9 进程ID
Windows系统如图操作:

4、还原 Git

一、拿Git日志
建立文件夹1拿自己的代码

复制网址:

Git Bash :git clone +网站

拿到了后显示在文件夹1中,打开

可:(能行)

二、创建SpringBoot项目--9.7
1、创建并启动
开启springboot项目的网站:https://start.spring.io/
创建项目:

下载压缩包解压后用idea打开,跳出弹窗创建Maven[出了问题就+手动刷新Maven]
创建完成后:

*项目文件介绍:(补充:.mvn基本用不到,但还是别删哈)
启动项目:
在WikiApplication(启动类)下右键运行启动,启动后的截图[附说明]

*课程ps:
1. 如果后续SpringBoot版本升级,选不到2.4.0,可以通过修改pom.xml里面的版本号来保持和课程一致,课程完成后,再进行升级,对应修改的代码块:

2. SpringBoot不需要配置容器,是因为使用了嵌入式容器(tomcat),默认使用tomcat启动,默认端口8080。当然,用传统的方式打成war包,放入单独的tomcat也是可以的。
3. SpringBoot项目使用main函数启动,一般放在XXXApplication类里,需要加@SpringBootApplication注解,如图:

4. Maven Wrapper可以不需要提前下载好Maven,由它去下载Maven
2、项目初始配置
🌳编码配置:

🌳jdk配置:[可以自己进行文件选择配置 jdk]

🌳maven配置:[配置了阿里云镜像]
1. 拿到配置后的文件,修改路径

2. 修改 settings.xml

🌳git配置:
点击:VCS-->启用版本控制集成(Enable Version Control Integration)-->选择 Git(建议安装git-for-windows,配置ssh会用到)-->文件目录颜色改变(红色:未交给git管理,绿色:)
提交文件:1. 顶部导航栏点击git,选择提交;2. 左侧小图标,点击提交。会展示可提交的文件

初始设置:

未指定提交信息:[怎么解决]


点击提交后:

三、代码关联Git远程仓库
配成ssh:后期就不用再输入了 || 本期使用慕课网的Git管理
1、慕课添加+创建仓库
打开慕课网,点击用户设置:(网址:慕课网Git_代码托管平台_慕课网)

下载git-for-windows后,在文件夹中右键,选中:

获取密钥内容:

写入慕课Git托管平台:

增加成功:

创建仓库:(不选择README.md)

2、仓库联动idea

运行后:
刷新界面:

推送 help.md 文件:(实操)(查看提交列表:灰色代表已删除,绿色已提交)

刷新后并不显示有提交记录,为什么?

因为按上面那张图只是进行了提交,未推送,正确推送:

推送成功后:

* 小失误--9.9
刚刚把这些文件全删了,导致无法运行:

重新进入网站下载一个项目触发刷新配置包,并且按下图重新加载所有Maven项目:(文件就回来了能运行了)

3、Git使用介绍(idea版)
创建README.md文件:

删除HELP.md文件:(不勾选安全删除,后期能帮你检查是否引用过这个文件)

Git推送演示:(修改一次就要提交一次,提交后的好处是代码可以看的很全)

四、启动日志优化
课程:2-5
--- a.logback日志样式修改 b. 修改启动文案 c. 修改启动图案
1、 logback日志样式修改
找到 logback-spring.xml 文件,解压至wiki-src-resources下(resources会自动识别):(课程中下载的压缩包)

添加logback-spring.xml文件后:(重新运行代码,控制台日志格式改变)

2、修改启动文案

3、 修改启动图案

在resources下建立banner.txt文件,输入字符重新运行即可

五、开发HelloWorld接口--9.11
课程:2-6
a. 制作Hello World 接口 b. 项目分层,启动类换位子
1、制作Hello World 接口
接口运行失败:

404(404返回码表示访问不到)
原理:

@ComponentScan 注解:只扫描此类所在的包 下的子包
运行失败的 WikiApplication 所在包(com.haoh.wiki)下没有TestController
解决方法:
1. 重构(类换路径也是重构的一种)
将 WikiApplication(启动类) 与 TestController 放在同一个包下

2. 手动设置@ComponentScan
* 移动文件的时候一直提示我重构后log有问题,还是重构了(希望不要有问题...)

实际设置:
<不要导入像 "com" 这么通用的包,很容易扫描到第三方 jar 包导致出错>

@ComponentScan 可同时导入多个要扫描的包,语法:
@ComponentScan({"com.haoh","com.test"})
2、接口+地址解析

RequestedMapping注解:表示此接口支持所有的请求方式
请求方式:get,post,put,delete(发送,新增,修改,删除)
PostMapping:只支持post请求,如果用PostMapping访问界面,报错 405 ,表示访问不支持(浏览器直接访问地址,发送GET请求)
六、HTTPClient测试接口--9.12
1、新建包
新建http包 下放test.http,编写代码(GET):

可自己进行编辑模板:(相当于快捷键)

2、新增举例
案例+1(POST):

增加单元测试:

3、动态优化 import
动态优化import: (把没用到的 import 自动去掉)

七、Springboot 配置文件--9.13
a. 默认支持的配置文件 b.自定义配置项
1、配置文件


springboot均可识别这些文件(框起来的)
bootstrap一般用于动态配置,线上可以实时修改实时生效的配置,一般可配合nacos使用
推荐网站:toyaml.com-->进行 .properties 和 .yml转化
2、自定义配置项
application.properties:配置文件 TestController.java:读取文件 test.http:接口测试

报错解释:

八、集成热部署--9.15
a.配置idea集成热部署(代码改完即时生效)
就是可以不用总是点这个按钮:![]()
三步骤:
1、添加依赖
源代码:

添加后:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
引入SpringBoot内置依赖不需要加版本号(pom.xml)
--springboot 是父子项目,内嵌了版本号 <parent>
2、自动构建项目
在设置中 勾选 自动构建项目(静态自动编译)

3、动态自动编译
旧版:查找操作-->registry-->勾选 compiler.automake.allow.when.app.running

registry 界面:(我的idea版本里没有要勾选的选项)

新版:设置-->高级设置-->搜索 allow -->勾选 compiler.automake.allow.when.app.running

设置完成后重启 idea (有时候有问题可能需要刷新maven)
之后启动文件 直接点击小锤子后 再点运行文件即可

九、数据库准备
a、本地数据库准备(下载好 mysql8.0、可视化工具 navicat) b、阿里云数据库准备
1、本地数据库
简介:
创建一个wiki数据库,并创建专用的wiki账户
a、新建数据库 wiki
在已有的连接中创建数据库:

字符集选择:
(1)字符集 utf8mb4(可以放置表情符号)
utf8mb4是真正的utf8,可以存放表情符号。utf8是伪utf8,三个字节,不支持表情符导
(2)排序规则 utf8mb4-general-ci

b、创建专用账户
专用账户用户名:wiki

c、添加权限
(记得要保存)

d、创建连接专连 wiki 库
使用新创建用户,创建数据库连接

解释:
创建一个库,名叫wiki,再创一个用户,名字也叫wiki,然后分配权限,让wiki用户只可操作wiki库,专库专用,权限隔离。以后有别的项目,比如叫博客项目blog,也可以创建blog用户对应blog库。多个项目互相不冲突
e、在新连接中新建表
可能会报 1142 的错误,在wiki下新建一张表即可

2、阿里云数据库
----------还没配,穷----------
十、IDEA 数据库插件配置
a、IDEA 配置数据库连接 b、演示 IDEA 数据库插件作用 c、增加数据库脚本
1、IDEA 配置数据库连接


(首次连接数据库可能会出现需要下载驱动的问题,下载就好了)
创建数据库

创建成功:

一定要记得点提交按钮

(一般选择默认查询控制台,简单的数据库操作用 idea 即可)
2、创建 all.sql 脚本
该脚本的sql语句 可以直接执行到数据库,往数据库加数据
十一、集成 Mybatis--9.16
a、集成持久层框架 Mybatis b、查询 test 表
持久层:与数据库交互的层即为持久层
常见持久层框架:Mybatis(半自动:自己写sql)、Hibernate(全自动:不需要写sql)
1、集成持久层框架 Mybatis
a、添加依赖
在 pom.xml 中添加代码:
<!-- 集成mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
<!-- 集成mysql连接 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
引入后运行报错,没有配置 DataSource (数据源)

b、配置数据源
(只要有就可以,不论正确还是错误)

# 增加数据库连接
spring.datasource.url=jdbc:mysql://rm-uf6470s9615e13hc4no.mysql.rds.aliyuncs.com/wiki?characterEncoding=UTF8&autoReconnect=true&serverTimezone=Asia/Shanghai&allowMultiQueries=true
spring.datasource.username=wiki
spring.datasource.password=wikiAAA123
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
c、构建关系
Ⅰ、关系介绍
测试文件 test.http
com.haoh.wiki 文件夹--
⑴ controller--接口入口 [ TestController.java ]-->调用 service 服务层
⑵ domain (或 entity)--实体类: 该实体类用于和数据库表一一映射 [ Test ]
⑶ mapper--接口层, 即: 持久层 (也就是我们知道的 Dao 层) [ TestMapper.java ]-->映射到 .xml
⑷ service--服务层 (写逻辑)-- [ TestService.java ]-->调用 mapper 层 (.java)
resources 文件夹--
⑴ mapper--sql脚本(对应mapper接口层的 .java文件) [ TestMapper.xml ]

Ⅱ、示例代码编写
com.haoh.wiki--
① 定义domain下的实体类: domain--Test

② 定义mapper下的接口: mapper--TestMapper.java

resources--
③ 定义mapper下的sql脚本: mapper--TestMapper.xml

⊙ TestMapper.java 与 TestMapper.xml 的关系:

④ 让项目识别到 TestMapper.java 为持久层:
WikiApplication(启动类) 下新增扫描注解:

⑤ 让项目知道 .xml 为要执行的SQL:
application.properties 下配置所有的 .xml 路径

server.port=8880
test.hello=Hello51
# 增加数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/wiki?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=****
spring.datasource.password=******
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#配置mybatis所有Mapper.xml所在的路径
mybatis.mapper-locations=classpath:/mapper/**/*.xml
⑥ 编写服务层代码: (TestService.java)

⑦ 增加 GET 请求: TestController.java

⑧ 接口测试: (小锤子+
运行)

⑨ 结果: ( 错在代码敲错了哈哈哈少敲了个字母 )
500返回码 表示后端出错

修改后:

2、查询 test 表
a、插入数据--all.sql

b、访问数据库

十二、Mybatis 代码生成器--9.17
集成 Mybatis 官方代码生成器好处:单表增删改查不用自己写代码
1、集成 Mybatis Generator
wiki 上生产(投入实际运行),新建 wikidev(新建用户 和 数据库)作为 wiki 开发环境使用
a、创wikidev的用户+数据库
用户 wikidev 访问数据库 wikidev (详见:[ 九、] [ 十、1、])
创建后修改数据库连接:

向数据库中注入数据,注意是选用 wikidev@localhost 进行执行

进行GET请求,请求成功

b、demo 配置
Ⅰ、创建 demo 表

Ⅱ、引入插件
在 pom.xml 中引入插件
<!-- mybatis generator 自动生成代码插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<configurationFile>src/main/resources/generator/generator-config.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
</dependencies>
</plugin>
Ⅲ、引入生成器代码
创建 .xml 文件generator-config.xml

引入代码生成器的代码:
(复制粘贴到 generator-config.xml文件 中)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context id="Mysql" targetRuntime="MyBatis3" defaultModelType="flat">
<!-- 自动检查关键字,为关键字增加反引号 -->
<property name="autoDelimitKeywords" value="true"/>
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!--覆盖生成XML文件-->
<plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
<!-- 生成的实体类添加toString()方法 -->
<plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
<!-- 不生成注释 -->
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="******"
userId="wikidev"
password="******">
</jdbcConnection>
<!-- domain类的位置 -->
<javaModelGenerator targetProject="src\main\java"
targetPackage="com.*****.wiki.domain"/>
<!-- mapper xml的位置 -->
<sqlMapGenerator targetProject="src\main\resources"
targetPackage="mapper"/>
<!-- mapper类的位置 -->
<javaClientGenerator targetProject="src\main\java"
targetPackage="com.******.wiki.mapper"
type="XMLMAPPER"/>
<table tableName="demo" domainObjectName="Demo"/>
<!--<table tableName="ebook"/>-->
<!--<table tableName="category"/>-->
<!--<table tableName="doc"/>-->
<!--<table tableName="content"/>-->
<!--<table tableName="user"/>-->
<!--<table tableName="ebook_snapshot"/>-->
</context>
</generatorConfiguration>
报红,直接忽略或者提取外部资源均可

“ dtd文件是xml的格式校验文件,用来标识一个xml的根节点是什么名字,里面有哪些节点,节点有哪些属性,算是一个帮助文件,没有也不要紧 ”
Ⅳ、增加启动命令


这个报错是因为没链接上数据库。因为我直接复制粘贴的老师代码忘了改成自己的数据库链接
Ⅴ、生成 Demo 文件
运行成功后新增4个 Demo 文件

所有的项目迭代都不要动这4个类(生成的4个文件不要修改!!!)

2、配置 Demo的其他文件
a、DemoService
生成对应的DemoService文件
复制TestService文件,粘贴为DemoService文件【如图二】
ctrl+r 进行单词替换(Test替换为Demo,test替换为demo)
【替换时一定要记得选区分大小写--如图一】
图一:
![]()
图二:

b、DemoController
创建新 DemoController 文件

文件小改进:
左侧的代码组织更规范:通过类级别的 @RequestMapping 统一管理前缀(/demo),方法级只需关注 “子路径”,更便于维护(比如要修改前缀时,只需改类上的注解,不用逐个改方法);右侧则是把完整路径写在方法( @GetMapping )上,灵活性低,维护成本高。

c、demo.http
创建测试文件 demo.http

运行
报错 500

解决方法:(确实有用哈)

再次运行后结果:

d、调试技巧
改一点代码,测试改动是否生效
改动下原地址

热部署
后,修改.http文件访问接口
![]()
运行后没问题说明热部署生效

------------仅作为学习笔记自用
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐

所有评论(0)