1.前期准备工作
JDK: 需要安装JDK17或者JDK21,本教程使用JDK21版,JDK安装教程具体请自行网上自行搜索;本教程使用的JDK版本为17
Maven: 需要安装3.5版本以上,本教程计划使用的版本是:apache-maven-3.9.5,实际使用的是:apache-maven-3.5.3(由于IDEA版本太低)
IDEA:主要开发工具,请自行配置
2.项目构建
2.1 方式一:使用官网构建
登录Springboot的项目构建官网:https://start.spring.io/,选择项目构建配置,如下图:
如图所示,几个选项说明:
- Project:使用什么构建工具,Maven还是Gradle;本教程将采用大部分Java人员都熟悉的Maven,以方便更多读者入门学习。
- Language:使用什么编程语言,Java、Kotlin还是Groovy;本教程将采用Java为主编写,以方便更多读者入门学习。
- Spring Boot:选用的Spring Boot版本;这里将使用当前最新的 3.3.0版本。
- Dependencies 选择项目构建的依赖包,第一次构建,暂时选择web的依赖
-
点击”Generate CTRL“按钮生成项目;此时浏览器会下载一个与上面 Artifact名称一样的压缩包。
-
使用IDEA打开解压后的项目工程,如下图所示
-
-
设置JDK : file --> Project Structure --->SDKS,点击加号----》JDK,选择JDK21的安装目录,然后点击OK;然后设置project下的JDK使用版本,也选择JDK21
-
-
-
-
设置Maven 版本号:如果只为此项目设置,则选择settings ---》maven,选择3.9.5的版本,Maven home directory:maven的安装路径
User settings file: maven的镜像文件位置
Local repository: 本地maven仓库的位置,一般由User settings file设置 -
-
maven设置完成后,点击右侧的maven,然后点击刷新,更新jar包依赖
-
-
idea 2018.3使用maven3.9.5 构建项目一直报错:原因是IDEA版本太低,不支持maven3.9.5 导致报错,具体原因可以详情见
-
根据自身idea的发布时间,下载idea发布时间之前的maven版本(maven其他版本下载地址),即可正常使用 我Maven版本调整到3.5.3
-
查看IDEA发布的时间:help --> about
-
-
maven历史版本对应的发布时间:在MAVEN官网 http://maven.apache.org/docs/history.html 查找发布时间在IDEA版本之前的
-
maven历史版本下载地址:https://archive.apache.org/dist/maven/
-
-
将maven的版本更新为3.5.3版本后,可以正常下载依赖,但是maven下载后的依赖包依旧红线;查询Springboot的各个版本对应的maven版本号,决定降低springboot的版本号,并将JDK调整为17、报错如下:
-
-
springboot对应的版本号:
-
Spring Boot JDK Maven Gradle servlet 容器 3.2.0 Java 17,并且与 Java 20 兼容 3.6.3+ 7.x (7.5 or later) and 8.x Tomcat 10.1、Jetty 11.0、Undertow 2.3 3.2.0-M1 Java 17,并且与 Java 20 兼容 3.6.3+ 7.x (7.5 or later) and 8.x Tomcat 10.1、Jetty 11.0、Undertow 2.3 3.1.3-SNAPSHOT Java 17,并且与 Java 20 兼容 3.6.3+ 7.x (7.5 or later) and 8.x Tomcat 10.1、Jetty 11.0、Undertow 2.3 3.1.2 Java 17,并且与 Java 20 兼容 3.6.3+ 7.x (7.5 or later) and 8.x Tomcat 10.1、Jetty 11.0、Undertow 2.3 3.0.10-SNAPSHOT Java 17,并且与 Java 20 兼容 3.5+ 7.x (7.5 or later) and 8.x Tomcat 10.1、Jetty 11.0、Undertow 2.3 3.0.9 Java 17,并且与 Java 20 兼容 3.5+ 7.x (7.5 or later) and 8.x Tomcat 10.1、Jetty 11.0、Undertow 2.3 2.7.15-SNAPSHOT Java 8,Java 17,并且与 Java 20 兼容 3.5+ 6.8.x, 6.9.x, 7.x, and 8.x Tomcat 9.0、Jetty 9.4、Jetty 10.0、Undertow 2.0 - 修改pom.xml文件,将高版本降为低版本;maven依赖包对应的版本查询:
- 仓库服务
https://developer.aliyun.com/mvn/search更改完成后,再次点击maven刷新,无报错
2.2 方式二:使用IDEA项目构建
如果是使用IntelliJ IDEA来写Java程序的话,那么还可以直接在编译器中创建Spring Boot应用。
第一步:菜单栏中选择:File => New => Project..,我们可以看到如下图所示的创建功能窗口。
其中Initial Service Url指向的地址就是Spring官方提供的Spring Initializr工具地址,所以这里创建的工程实际上也是基于它的Web工具来实现的。
第二步:点击Next,等待片刻后,我们可以看到如下图所示的工程信息窗口:
其实内容就跟我们用Web版的Spring Initializr是一模一样的,跟之前在页面上一样填写即可。
第三步:继续点击Next,进入选择Spring Boot版本和依赖管理的窗口:
在这里值的我们关注的是,它不仅包含了Spring Boot Starter POMs中的各个依赖,还包含了Spring Cloud的各种依赖。
第四步:点击Next,进入最后关于工程物理存储的一些细节。最后,点击Finish就能完成工程的构建了。
2.3 项目结构解析
通过上面步骤完成了基础项目的创建。如上图所示,Spring Boot的基础结构共三个文件(具体路径根据用户生成项目时填写的Group所有差异):
- src/main/java下的程序入口: ReclaimServiceApplication
- src/main/resources下的配置文件: application.properties,此文件后续会改为yml结尾
- reclaimServicesrc/main/resources/static :静态文件存放位置,由于现在项目都是采用前后端分离,此文件夹可以直接删除
- reclaimServicesrc/main/resources/templates:前端模板存放位置,由于现在项目都是采用前后端分离,此文件夹可以直接删除
- src/test/下的测试入口: ReclaimServiceApplicationTests
生成的 ReclaimServiceApplication和 ReclaimServiceApplicationTests类都可以直接运行来启动当前创建的项目,由于目前该项目未配合任何数据访问或Web模块,程序会在加载完Spring之后结束运行。
3.运行第一个项目,编写hello world
3.1 找到项目rc/main/resources下的配置文件: application.properties文件重命名为application.yml
并打开reclaimService/src/main/java/com/green/reclaimService/ReclaimServiceApplication.java的文件,点击左侧的开始绿色按钮,直接启动,检查run的日志是否有报错
启动报错:Error:java: 无效的源发行版: XXX
解决:编译版本调整成应用的JDK版本号,如果选不到最好选择最高的版本号
tomcat 的默认端口是8080,浏览器中输入:http://localhost:8080/,说明应用启动成功
3.1 编写springmvc的第一个controller类
所有的package都要放到ReclaimServiceApplication.java的下一级才可以被springboot识别到,新建一个controller的包
浏览器中输入地址:http://localhost:8080/hello