从JAVA官网下载JDK安装包
| 12
 3
 
 | cd /cd home
 wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz
 
 | 
解压Java安装包
| 12
 
 | cd /usrtar -zxvf /home/jdk-21_linux-x64_bin.tar.gz
 
 | 
配置环境变量
| 12
 3
 4
 
 | export JAVA_HOME=/usr/jdk-21.0.1export JRE_HOME=${JAVA_HOME}/jre
 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
 export PATH=${JAVA_HOME}/bin:$PATH
 
 | 
执行命令使环境变量生效:
检验是否配置完成
正常显示:
| 12
 3
 
 | java version "21.0.1" 2023-10-17 LTSJava(TM) SE Runtime Environment (build 21.0.1+12-LTS-29)
 Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)
 
 | 
也可以通过apt intall安装OpenJDK17
| 12
 
 | sudo apt updatesudo apt install openjdk-17-jdk
 
 | 
设置JAVA_HOME变量
需要将JAVA_HOME变量指向JDK的安装路径
- 查看jdk的安装路径,which只能定位到执行路径
| 12
 
 | which java/usr/bin/java
 
 | 
| 12
 
 | ls -lrt /usr/bin/javalrwxrwxrwx 1 root root 22 Jan  4 14:19 /usr/bin/java -> /etc/alternatives/java
 
 | 
继续查找
| 12
 
 | ls -lrt /etc/alternatives/javalrwxrwxrwx 1 root root 43 Jan  4 14:29 /etc/alternatives/java -> /usr/lib/jvm/java-17-openjdk-amd64/bin/java
 
 | 
jkd路径为:
/usr/lib/jvm/java-17-openjkd-amd64
export命令的效果仅限于当前登录终端,如果永久有效,需配置到/etc/profile
| 1
 | export JAVA_HOME=/usr/lib/jvm/java-17-openjkd-amd64
 | 
安装Maven构建工具
Spring Boot项目依赖于Maven进行构建管理。
创建Spring Boot项目
可以使用Spring Initializr(https://start.spring.io)
或者手动创建一个基本的Spring Boot项目结构。
| 12
 
 | mkdir myprojectcd myproject
 
 | 
| 12
 3
 4
 5
 
 | mvn archetype:generate \-DgroupId=com.example \
 -DartifactId=demo \
 -DarchetypeArtifactId=maven-archetype-quickstart \
 -DinteractiveMode=false
 
 | 
| 12
 3
 4
 5
 6
 
 | <dependencies><dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
 </dependencies>
 
 | 
- 编写和测试Spring Boot应用程序:
 完成上述步骤后,就可以编写自己的Spring Boot应用程序了。可以在src/main/java目录下创建包和类,然后编写业务逻辑。可以使用内置的Tomcat服务器运行应用程序,也可以部署到外部容器中。
使用start.spring.io自动生成的Spring Boot框架,记住一定要添加Spring Web依赖。生成后会自动下载到本地。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 
 | .├── HELP.md
 ├── mvnw
 ├── mvnw.cmd
 ├── pom.xml
 └── src
 ├── main
 │   ├── java
 │   │   └── com
 │   │       └── example
 │   │           └── demo
 │   │               └── DemoApplication.java
 │   └── resources
 │       ├── application.properties
 │       ├── static
 │       └── templates
 └── test
 └── java
 └── com
 └── example
 └── demo
 └── DemoApplicationTests.java
 
 14 directories, 7 files
 
 | 
编写业务相关的controller,与DemoApplication.java文件同级建立文件夹controller
| 12
 
 | mkdir src/main/java/com/example/demo/controllernano src/main/java/com/example/demo/controller/HelloController.java
 
 | 
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | package com.example.demo.controller;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 public class HelloController {
 @GetMapping("/hello")
 public String hello() {
 return "hello world!";
 }
 
 }
 
 | 
- 调试和运行应用程序:
 可以使用IDE提供的调试功能来调试Spring Boot应用程序。默认情况下,将在localhost:8080/hello上启动。
测试运行
简化部署,执行打包命令
| 1
 | mvn package spring-boot:repackage
 | 
生成的包在target文件夹下,生成jar包,可以使用命令java -jar demo-name.jar
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 
 | /home/myprojects/demo/target# ls -ltotal 19240
 drwxr-xr-x 3 root root     4096 Jan  3 07:07 classes
 -rw-r--r-- 1 root root 19666460 Jan  3 07:42 demo-0.0.1-SNAPSHOT.jar
 -rw-r--r-- 1 root root     3387 Jan  3 07:42 demo-0.0.1-SNAPSHOT.jar.original
 drwxr-xr-x 3 root root     4096 Jan  3 07:07 generated-sources
 drwxr-xr-x 3 root root     4096 Jan  3 07:07 generated-test-sources
 drwxr-xr-x 2 root root     4096 Jan  3 07:42 maven-archiver
 drwxr-xr-x 3 root root     4096 Jan  3 07:07 maven-status
 drwxr-xr-x 2 root root     4096 Jan  3 07:42 surefire-reports
 drwxr-xr-x 3 root root     4096 Jan  3 07:07 test-classes
 
 | 
启动web服务
| 1
 | java -jar demo-0.0.1-SNAPSHOT.jar
 | 
使用curl命令进行http请求
| 1
 | curl localhost:8080/hello
 | 
显示返回结果: