在Spring Boot Web服务中使用Hello World

用Spring Boot Web服务实现Hello World

spring-boot_on_ubuntu.png

投资

我将使用 Windows 11 上的 Linux 进行云开发。

您可以在这里查看文章列表。

 

实现

在本地的 Ubuntu 环境中,启动一个以Spring Boot Web服务为基础的JAR应用程序。

启动JAR文件格式的应用

要素概要terminalターミナルUbuntuOSJVMJava 実行環境app.jarJava アプリケーションtomcatWeb サーバー

技术话题

什么是Spring Boot?

您可以展开这个以查看。Spring Boot

Spring Boot是一个用于在Java中开发Web应用程序的框架之一,它是基于Spring Framework的一组库的集合。

特点

它易于配置,您只需编写代码即可创建Web应用程序。
它具有自动化的功能,如自动配置和自动检测等。
它能自动解决Spring Framework的依赖关系,开发人员无需花费时间在库管理上。
它支持各种数据源和安全功能等许多库,因此非常灵活,可满足多种用途。
它还提供了一个名为Spring Cloud的扩展,用于将应用程序作为微服务运行。

好处

开发人员可以专注于应用程序的业务逻辑,无需花费时间在繁琐的配置和设置上。
借助Spring Boot的自动化功能,开发人员可以更快地编写代码,并更快地进行构建、测试和部署。
由于其高度灵活和丰富的库,它可以适应各种用途。
通过使用Spring Cloud,它提供了扩展功能,将应用程序作为微服务运行,从而提高了可扩展性和可靠性。

研发环境

    Windows 11 Home 22H2 を使用しています。
由于要操作 WSL 的 Ubuntu,您也可以参考 macOS 的相关内容。
WSL(Microsoft Store应用程序版本)※ 您可以通过此相关文章确定安装方法
> wsl –version
WSL版本:1.0.3.0
内核版本:5.15.79.1
WSLg版本:1.0.47Ubuntu ※ 您可以通过此相关文章确定安装方法
$ lsb_release -a
没有可用的LSB模块。
发行商 ID:Ubuntu
描述:Ubuntu 22.04.1 LTS
发布:22.04

Java JDK ※ 您可以通过此相关文章确定安装方法
$ java -version
openjdk version “11.0.18” 2023-01-17
OpenJDK Runtime Environment (build 11.0.18+10-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.18+10-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)

Maven ※ 您可以通过此相关文章确定安装方法
$ mvn -version
Apache Maven 3.6.3
Maven主页:/usr/share/maven
Java版本:11.0.18,供应商:Ubuntu,运行时:/usr/lib/jvm/java-11-openjdk-amd64

这篇文章主要介绍了如何在Ubuntu终端上进行操作。针对第一次学习使用Vim进行复制粘贴的人,本文提供了详细的步骤。欢迎大家挑战一下。

 

创建Web应用程序的规格

NoエンドポイントHTTPメソッドMIME タイプ1/api/dataGETapplication/json
发送HTTP GET请求到`/api/data`端点,将实现一个简单的Web服务,该端点将返回JSON数据`{“message”:”Hello World!”}`。

显示”Hello World”的步骤。

创建项目 (Chuangjian xiangmu)

创建项目文件夹。
※我们将 “~/tmp/hello-spring-boot” 作为项目文件夹。

$ mkdir -p ~/tmp/hello-spring-boot
$ cd ~/tmp/hello-spring-boot

创建应用程序类

创建一个应用程序类。

$ mkdir -p src/main/java/com/example/springboot
$ vim src/main/java/com/example/springboot/Application.java

文件的内容 de

package com.example.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
通过使用Spring Boot,我们正在创建一个Web应用程序,并创建一个Application类。@SpringBootApplication注解是必需的,以启用Spring Boot的自动配置。这样,Spring Boot会根据类路径自动检测并配置所需的设置,从而自动构建应用程序。main方法是必需的,用于启动应用程序,通过调用SpringApplication.run()方法并传递Application类。这个方法会启动Spring Boot应用程序,加载必需的设置,并执行应用程序。

此外,这段代码是启动Spring Boot应用程序所需的最小代码,详细的设置,如应用程序配置和路由等,需要额外添加。

创建一个控制器类

创建一个控制器类。

$ mkdir -p src/main/java/com/example/springboot/controller
$ vim src/main/java/com/example/springboot/controller/HelloController.java

文件的内容 de

package com.example.springboot.controller;

import java.util.Map;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/api")
public class HelloController {

    @GetMapping("/data")
    public Map<String, String> getData() {
        Map<String, String> map = Map.of("message", "Hello World!");
        return map;
    }
}
我正在创建一个类来定义Spring Boot应用程序中的REST API端点。我定义了一个名为HelloController的类,上面标有@RestController注解。@RestController注解表示该类定义了一个RESTful的端点。
@RequestMapping注解用于定义URL路径,以便根据HTTP请求到达该端点。在这种情况下,请求路径映射到/api端点。
@Data annotation is used to indicate the method getData annotated with @GetMapping. When an HTTP GET request is sent to /data endpoint, the method will return an object of type Map.
Map object is a data structure that stores key-value pairs. In this case, it associates the key “message” with the string “Hello World!”.
The returned Map object will be serialized in JSON format and embedded in the body of the HTTP response.
When this code is executed, a GET request to /api/data will be received, and it will return a JSON response of “Hello World!”.

创建 pom.xml

创建pom.xml文件。

$ vim pom.xml

文件的内容 de

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.8</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>hello-spring-boot</artifactId>
    <version>1.0</version>
    <name>hello-spring-boot</name>

    <properties>
        <java.version>11</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <finalName>app</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
以下是一个Maven项目的项目对象模型(POM)。它包含项目的信息、依赖关系、构建设置等内容。每个项目的内容如下:

项目
内容

groupId
定义项目的组ID。

artifactId
定义项目的工件ID。

version
定义项目的版本。

dependencies
定义依赖关系列表。在这个示例中,定义了包括Spring Boot的Web启动器在内的 spring-boot-starter-web。

build
定义项目的构建设置。在这个示例中,指定了在构建时使用Spring Boot的spring-boot-maven-plugin。同时,定义了finalName。这将用于生成的应用程序文件名。

需要注意的是,这个POM中指定了一个父POM,其中包含用于自动管理Spring Boot依赖关系的配置。

项目的架构

我将显示项目文件结构。

$ tree
.
├── pom.xml
└── src
    └── main
        └── java
            └── com
                └── example
                    └── springboot
                        ├── Application.java
                        └── controller
                            └── HelloController.java
打开说明。No
文件
内容

1
pom.xml
是一个Maven项目的配置文件,用于定义项目的依赖关系和构建设置。

2
Application.java
是Spring Boot应用程序的入口点,会在应用程序启动时执行。主要用于应用程序的配置、组件扫描等操作。

3
HelloController.java
是一个Spring MVC应用程序的控制器,用于接收HTTP请求并返回响应。它提供了与特定URL路径映射的方法,并用于在客户端和服务器之间传递数据。

在构建Spring Boot应用程序时,我们只需要使用这三个文件。通过组合这些文件,我们可以构建一个完整的Spring Boot应用程序。

打开应用程序

打开应用程序。
※ 要停止应用程序,请按下 Ctrl + C。

$ mvn spring-boot:run
打开说明。
使用spring-boot:run命令可以使用Maven构建Spring Boot应用程序,并运行已构建的应用程序。在构建完成后,Spring Boot会启动嵌入的Tomcat服务器,并运行Web应用程序。换句话说,这是用于在本地运行Spring Boot应用程序的命令。
通过上述步骤,您可以在开发模式下启动Spring Boot应用程序。

应用程序的操作确认

我會使用 curl 命令從另一個終端確認。

$ curl -v http://localhost:8080/api/data -w '\n'

做出努力

*   Trying 127.0.0.1:8080...
* Connected to localhost (127.0.0.1) port 8080 (#0)
> GET /api/data HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200
< Content-Type: application/json
< Transfer-Encoding: chunked
< Date: Sat, 04 Mar 2023 12:27:45 GMT
<
* Connection #0 to host localhost left intact
{"message":"Hello World!"}
通过以上步骤,可以在终端上显示 {“message”:”Hello World!”} 并获取 JSON 数据。

应用程序的构建

使用Java构建应用程序。
※ 将创建target/app.jar文件。

$ mvn clean package

执行。

$ java -jar target/app.jar
通过这些步骤,可以构建并启动Spring Boot应用的JAR文件。

总结

在使用Ubuntu搭建的简单Java开发环境中,我们成功地运行了Spring Boot Web服务。

在实际业务中使用Spring Boot时,可能会添加一些配置文件等,因此与本文所示的简单配置可能会有所不同。然而,通过学习最小配置示例,可以理解Spring Boot需要怎样的配置。

使用WSL Ubuntu,您可以轻松构建Spring Boot网页开发环境。请务必尝试。我们将继续介绍Java开发环境等内容,请期待。

请推荐内容。

 

相关文章

让我们与其他的 REST API 框架进行比较吧!

 

广告
将在 10 秒后关闭
bannerAds