SpringBoot
课程
1天搞定SpringBoot+Vue全栈开发 | 刘老师教编程 | 哔哩哔哩
环境
JDK1.8 + Maven + IDEA
新建 SpringBoot 项目
注意 Spring3.0 及 Spring3.0+ 最低支持 JDK17, 如果想要创建 Java8 的项目, 在新建 Spring 项目的时候需要设置 Spring Boot 的版本为 3.0 以下.
对于已经创建好的项目, 需要在 Pom.xml
中修改 Spring 的版本为 2.0+, 以及修改对应的 Java 版本为 1.8, 然后在右侧栏的 Maven 中点击 Reload All Maven Projects.
1 | <parent> |
Note: 刘老师课程中使用的 SpringBoot 的版本为 2.7.2
常见问题及处理
-
右键
New
没有Java Class
选项
此时可能是 Maven 还没有加载成功, 重新导入一下 Maven 即可.
或者在 Files > Project Structure > Project Settings > Module 中右键 src 目录点击 Sources, 将 src 目录及其子目录设为源码目录. -
报错
java: 警告: 源发行版 17 需要目标发行版 17
这是由于 Spring Boot 与 Java 版本不匹配导致的. 由于你在新建项目的时候选的 Spring Boot 的版本为 3.0+ (默认3.0+), 上面提到过 Spring3.0+ 最低支持 JDK17, 所以 Maven 自动为该项目的 Java 设置了 17 的版本 (即便你在创建项目的时候选择了 JDK1.8 和 Java8), 而你的电脑是没有安装 JDK17 的所以产生这个报错. 需要在 Pom.xml 配置文件中修改 Spring Boot 和 Java 的版本.Note:
在 Files > Settings > Build,Execution,Deployment > Compile > Java Compiler 中,
以及在 Files > Project Structure > Project Settings > Module > Language Level 中,
直接修改 Module 的 Java 版本是不可以解决这个问题的. 它会给提示:
⚠️ Module 'ProjectName' is imported from Maven. Any changes made in its configuration might be lost after reimporting.
重新导入 Maven 配置后, 这些更改的设置会被重置, 并且编译依旧会报错.
第一个 Spring Boot 项目
新建项目, 在 Generators 中选择 Spring Initializr, 项目的一些初始化设置如下:
1 | Name: HelloSpringBoot |
在 src > main > java > com.example.hellospringboot 目录上右键选择 New > Package, 命名 controller
, 再右键 controller 选择 New > Java Class, 命名 HelloController
在其中输入
1 | package com.example.hellospringboot.controller; |
打开 src > main > java > com.example.hellospringboot > HelloSpringBootApplication.java, 点击右上角的 Run, 如果正常运行 Console 中会出现下面的文字图案, 并返回 Spring Boot 的版本
1 | . ____ _ __ _ _ |
此时在浏览器地址栏中输入 http://localhost:8080/hello
即可看到返回页面的内容 Hello, Spring Boot!
.
热环境部署
热部署, 即修改代码后自动重新编译和部署网页, 便于调试.
借助 Spring Boot 提供的 spring-boot-devtools 组件, 可以实现热部署. devtools 组件会监听 classpath 下的文件变动, 触发 Restart 类加载器重新加载该类, 从而实现类文件和属性文件的热部署.
并不是所有的更改都需要重启应用 (如静态资源, 视图模板等), 只有 Java 类变了才需要重启应用. 可以通过设置 spring.devtools.restart.exclude 属性来指定一些文件或目录的修改不用重启应用.
配置热环境
-
添加 devtools 依赖
在项目 pom.xml 的<dependencies>...</dependencies>
间插入依赖1
2
3
4
5
6
7
8
9<dependencies>
...
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
...
</dependencies>然后点击 Maven 小窗口的 Load Maven Changes (快捷键 Ctrl+Shift+O) 加载添加的依赖. 加载完成后可以在侧栏 Maven 项目目录下的 Dependencies 中看到 spring-boot-devtools
-
配置 devtools 依赖
在 src > main > resources > application.properties 中添加下面的设置 (课程中只添加了前两条, 没有设置排除目录)1
2
3
4
5
6# 开启 restart
spring.devtools.restart.enbaled=true
# 设置重启目录
spring.devtools.restart.additional-paths=src/main/java
# 设置排除目录
spring.devtools.restart.exclude=static/** -
设置 IDEA 项目自动编译
-
Files > Settings > Build,Execution,Deployment > Compile, 勾选 Build project automatically
-
Files > Settings > Advanced Settings, 勾选 Allow auto-make to start even if developed application is currently running
-
当上面的配置全都做完后, 重新修改代码将会自动重新编译和部署, 我们只需要在浏览器端刷新页面即可看到修改后的结果.
MybatisPlus
使用 Mybatis/MybatisPlus 之前需要先安装 MySQL
在 IDEA 中新建一个 Spring Boot 项目 (配置同上). 在 pom.xml 配置文件中添加依赖
1 | <!-- MyBatisPlus依赖 --> |
刷新一下 Maven.
然后在 src > main > resources > application.properties 中添加下面的设置
1 | spring.datasource.type=com.alibaba.druid.pool.DruidDataSource |