使用SpringBoot启动最小的Web应用程序

设定环境

・Windows10
・Eclipse Neon(4.6.0)
已安装STS插件
・Java 1.8.0_92

创建项目

image
image
image

由Maven自动更新项目,所以请稍等。(可在右下角的状态信息中查看进度)
完成后将创建具有以下结构的项目。

image

编辑pom.xml文件

请在pom.xml文件中添加以下内容。

– spring-boot-starter-parent
Spring Boot基础父项目
声明使用Spring Boot并指定版本

・spring-boot-starter-web
Spring Boot的Web基础包

・spring-boot-maven-plugin
该插件用于使Maven能够处理SpringBoot(即使不安装也可以运行)

・Java版本。

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>jp.sample.spboot</groupId>
    <artifactId>BootApp</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <!-- Spring Boot の利用を宣言し、バージョンを指定【追加】 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.0.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <!-- Spring Boot の Web アプリケーションライブラリの利用を指定【追加】 -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <!-- Spring Boot の ビルド用 Maven プラグイン【追加】 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    <properties>
        <!-- Java バージョン指定【追加】 -->
        <java.version>1.8</java.version>
    </properties>

</project>
image
image

创建执行类

在src/main/java路径下创建一个新的Controller类(SampleController.java)。

将SampleController.java文件进行如下编辑。

import java.util.ArrayList;
import java.util.List;

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@RestController                // Webアプリのリクエストを受け付けるクラスであることの指定
@EnableAutoConfiguration       // 様々な設定を自動的に有効化
public class SampleController {

    @RequestMapping("/")       // URLのパスの指定
    @ResponseBody
    public List<String> top(@RequestParam(value = "name", required = false) String name) { // リクエストを受け付けるメソッド
        List<String> list = new ArrayList<String>();
        list.add("SpringBootの最小アプリケーション");
        if (name == "hoge") {
            list.add("(パラメータにhoge指定)");
        } else {
            list.add("(パラメータ指定無し)");
        }
        return list;
    }
}

@RestController 是一个用于在Spring Boot中通知其为Rest(API)控制器的注解。
@EnableAutoConfiguration 是一个用于自动启用各种配置的注解,所有繁琐的配置都由Spring Boot处理。
@RequestMapping 用于告知Spring Boot该类(方法)将处理哪个路径的请求。
※※如果使用 @RequestMapping(“/mainApp”),那么该路径“localhost:8080/mainApp”将对应该类。
@ResponseBody 用于在Spring Boot中通知其返回的内容包含JSON格式的数据(声明要返回JSON)。
@RequestParam 用于在方法内部轻松处理参数(因为不清楚详情,所以暂时保留)。

在`src/main/java`目录下创建`Main.java`文件,并添加`main`方法。

import org.springframework.boot.SpringApplication;

public class Main {

    public static void main(String[] args) {
        // Spring Bootによるアプリケーションを起動するための処理
        SpringApplication.run(SampleController.class, args);
    }
}

执行

image
image
image

使用STS开发Web应用程序。

在下面增加一种使用 STS (Spring Tool Suite) 的方法。

image
image
image
image

只需要一种选项:

之后,像在Eclipse版本中创建时一样,准备一个Controller类和一个调用它的main方法,然后执行 → 在SpringBoot应用中执行,将获得相同的结果。

因为不再需要pom.xml的配置,所以这个选项更加高效。
(我也不太明白为什么会创建mvnw、mvnw.cmd这些文件。。)

顺便提一下,在使用Eclipse的STS插件创建的SpringBoot项目中,运行时会出现“找不到主类”的错误。(为什么)

参考网站

用Spring Boot创建简单的Web API。

我要开始尝试使用SpringBoot(使用Maven命令)。
(来源链接:http://hiranoon.hatenablog.com/)

广告
将在 10 秒后关闭
bannerAds