从JAVA官网下载JDK安装包
1 2 3
| cd / cd home wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz
|
解压Java安装包
1 2
| cd /usr tar -zxvf /home/jdk-21_linux-x64_bin.tar.gz
|
配置环境变量
1 2 3 4
| export JAVA_HOME=/usr/jdk-21.0.1 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
|
执行命令使环境变量生效:
检验是否配置完成
正常显示:
1 2 3
| java version "21.0.1" 2023-10-17 LTS Java(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
1 2
| sudo apt update sudo apt install openjdk-17-jdk
|
设置JAVA_HOME变量
需要将JAVA_HOME变量指向JDK的安装路径
- 查看jdk的安装路径,which只能定位到执行路径
1 2
| which java /usr/bin/java
|
1 2
| ls -lrt /usr/bin/java lrwxrwxrwx 1 root root 22 Jan 4 14:19 /usr/bin/java -> /etc/alternatives/java
|
继续查找
1 2
| ls -lrt /etc/alternatives/java lrwxrwxrwx 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项目结构。
1 2
| mkdir myproject cd myproject
|
1 2 3 4 5
| mvn archetype:generate \ -DgroupId=com.example \ -DartifactId=demo \ -DarchetypeArtifactId=maven-archetype-quickstart \ -DinteractiveMode=false
|
1 2 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依赖。生成后会自动下载到本地。
1 2 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
1 2
| mkdir src/main/java/com/example/demo/controller nano src/main/java/com/example/demo/controller/HelloController.java
|
1 2 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
1 2 3 4 5 6 7 8 9 10 11
| /home/myprojects/demo/target# ls -l total 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
|
显示返回结果: