SpringBoot 优点:

1、搭建简单,开箱即用;2、配置简单,专注代码;3、部署简单,一键启动


基本操作

1、退出后重进Git

点开VCS-->选第一个

2、忽略文件

3、端口8880占用

Windows 系统:

  1. 打开管理员权限的命令提示符(CMD)或 PowerShell
  2. 执行命令查找占用 8880 端口的进程 ID:
    netstat -ano | findstr :8880
    
    输出结果中最后一列的数字即为进程 ID(PID)
  3. 终止该进程:
    taskkill /PID 进程ID /F
    
    (将 进程ID 替换为上一步查到的数字(最后一列))

Linux/Mac 系统:

  1. 打开终端
  2. 查找占用 8880 端口的进程:
    lsof -i :8880
    
  3. 终止进程:
    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文件访问接口

运行后没问题说明热部署生效


------------仅作为学习笔记自用

Logo

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

更多推荐