我已经建立了开发环境,接下来我要尝试制作一个Web应用程序

2023年4月附言。

为了使文本格式整齐,进行了更新。没有加入任何新的信息。

开始

以下是上篇文章的延伸。

 

目标

访问 http://localhost:xxxx/hello 并打印出”你好,世界”。

做过的事情

选择Web应用程序框架

由于本次有计划在不久的将来使用,所以选择了Spring Boot。虽然之前有一点接触过,但现在几乎都忘记了…希望下次也能尝试使用Play Framework。

创建一个Spring Boot应用程序的样本

「创建新项目」>(本次)选择「Maven」
GroupId和ArcitectId可随意设定。

在pom.xml文件中添加设置值。

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.1.4.RELEASE</version>
  <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
  <java.version>1.8</java.version>
</properties>

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

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

<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>

创建项目后会生成pom.xml文件,将以上内容写入该文件。

关于官方政策,值得一提的是,可供使用。

    • 言語(Java or Scala or Kotlin)

 

    • プロジェクト管理ツール(Maven or Gradle)

 

    • を選択して、設定ファイルとプロジェクトファイルを生成してくれる機能を用意してくれています。

 

    詳しくは:

 

写程序

参考公式文件。

 

这次我们将制作一个应用程序,它会在你发送请求后以JSON格式返回响应。

package hello;

public class Greeting {

    private final String type;
    private final String value;

    public Greeting(String type, String value){
        this.type = type;
        this.value = value;
    }

    public String getType() {
        return type;
    }

    public String getValue() {
        return value;
    }
}
package hello;

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

@RestController
public class GreetingController {

    private static final String TEMPLATE = "Hello, %s!";

    @RequestMapping("/hello")
    public Greeting greeting(@RequestParam(value =  "name",defaultValue = "world") String name){
        return new Greeting( "Greeting",String.format(TEMPLATE,name));
    }

}
package hello;

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);
    }
}

在IDE上尝试运行一下

スクリーンショット 2019-04-29 0.32.21.png

搞定了!

只显示终端上的特定信息

当你启动Spring应用程序时,将显示Logo和初始化的INFO日志。
为了抑制这个显示,需要在src/main/resources/config/application.yml下进行以下的设置。

我是根据这篇文章的参考进行的。

 

spring.main:
    # バナーの表示抑止
    banner-mode: "off"
    # 初期化ログの表示抑止
    log-startup-info: false
logging.level:
    # Spring実行時のルートログをWARNにする
    org.springframework: "warn"

构建/运行创建的应用程序。

我到目前为止一直在使用IDE,但从现在开始我打算尝试在终端上执行。
说起来,我还没有在Mac上安装构建工具,所以现在决定安装。先安装Maven吧。

brew install maven

接下来,使用maven进行构建。前往包含pom.xml的目录,并执行以下命令。

mvn package

随后,在目标文件夹下生成一个JAR文件,然后执行它。

java -jar (生成されたjarファイル).jar

如果在创建样本Spring Boot应用程序时显示的内容与此一样,则表示一切正常。
http://localhost:8080/hello

bannerAds