目录
步骤01:快速创建项目
步骤02:选择依赖
步骤03:pom文件中版本问题
步骤04:启动测试
4.1、认识引导类
4.2、创建Controller类进行测试
可能遇到的问题及解决方案
附件1:pom文件源码
附件2:项目结构图
在IDEA 2022.3.3汉化版上快速创建springBoot项目。
需要注意的是:该功能在社区版的IntelliJ IDEA上可能是不存在的。
创建步骤如下。
创建项目时选择Spring Initializr,如下图所示:
如图所示。选择项目所需要添加的依赖,之后IDEA 会自动把选中的依赖添加到项目的pom中。
需要注意的是:当前案例使用的JDK 8 ,所以Spring Boot的版本需要调整为2.x.x。
Spring Boot版本号:
- 注意SpringBoot版本的选择,如果使用JDK8的话,则选择2.x.x版本。
- Spring官网介绍:如果选择了3.0.0版本的SpringBoot,JDK最低要17版本
- 不适配会造成Application运行失败。
- snapshot是工程版本上的概念,表示快照版本,也就是相对稳定版本,但是会再进行改进,最好不要用于生产环境。
- 在生产环境,应当选择release(发布版本)
创建完项目之后,修改maven仓库为本地仓库。
同时需要等待各种文件的下载。
创建完成之后,项目结构为:
问题:
创建完成之后,可能会遇到在pom.xml文件里面的spring-boot-maven-plugin这个依赖爆红没有导进去。如下图所示:
问题分析:
因为在maven的阿里云仓库里面没有找到这个依赖。
问题解决:在pom.xml文件中找到父工程的版本号,复制到报红的依赖中,让其去继承。如下图:
该类在创建项目的时候,自动生成。是SpringBoot工程的启动类。
/**
* spring boot 工程都有一个启动类,这是工程的入口
* 并在引导类上添加注解 @SpringBootApplication
* */
@SpringBootApplication
public class SpringBootTest01Application {
public static void main(String[] args) {
SpringApplication.run(SpringBootTest01Application.class, args);
}
}
引导类需要在Controller控制器类的上一级目录!
package cn.shq.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController //是 @Controller和 @ResponseBody的组合注解,返回的都是字符。
public class HelloController {
@GetMapping("hello") //指定使用get方式的请求。
public String Hello(){
return "hello world !";
}
}
此时可以启动项目
浏览器访问结果:
项目访问成功,可以后续编程。
问题1:
启动SpringBoot项目后,打开浏览器访问tomcat服务器出现以下情况:
Whitelabel Error Page(也叫白页),就是SpringBoot中HTTP请求出现异常的说明页。
问题分析:
springboot的白页出现的真正原因,主要是没有合适的匹配情况出现404情况。然后跳转到系统默认的第一个ErrorPage,也就是白页内容上。
具体解决方案:等待后续更新。
目前提供的参考办法:访问地址写全路径------>localhost:8080/hello
问题2:
java: 警告: 源发行版 17 需要目标发行版 17
解决步骤: 在设置中将java编译器中的字节码版本设置为JDK对应版本。
修改pom文件中java编译版本。
问题3:
java: 无法访问org.springframework.boot.SpringApplication
错误的类文件: /D:/tools/maven/apache-maven-3.6.3/respo/liuxinRespos/org/springframework/boot/spring-boot/3.0.0/spring-boot-3.0.0.jar!/org/springframework/boot/SpringApplication.class类文件具有错误的版本61.0,应为52.0。
请删除该文件或确保该文件位于正确的类路径子目录中。
原因: 还是因为pom文件中父工程的版本号为3.x.x,与所使用的JDK版本不匹配。
解决步骤 :
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.7.12
cn.shq
springBoot_test01
0.0.1-SNAPSHOT
springBoot_test01
springBoot_test01
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
2.7.12
目前作为测试项目的项目结构图。