使用SpringBoot启动最小的Web应用程序
设定环境
・Windows10
・Eclipse Neon(4.6.0)
已安装STS插件
・Java 1.8.0_92
创建项目
由Maven自动更新项目,所以请稍等。(可在右下角的状态信息中查看进度)
完成后将创建具有以下结构的项目。
编辑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>
创建执行类
在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);
}
}
执行
使用STS开发Web应用程序。
在下面增加一种使用 STS (Spring Tool Suite) 的方法。
只需要一种选项:
之后,像在Eclipse版本中创建时一样,准备一个Controller类和一个调用它的main方法,然后执行 → 在SpringBoot应用中执行,将获得相同的结果。
因为不再需要pom.xml的配置,所以这个选项更加高效。
(我也不太明白为什么会创建mvnw、mvnw.cmd这些文件。。)
顺便提一下,在使用Eclipse的STS插件创建的SpringBoot项目中,运行时会出现“找不到主类”的错误。(为什么)
参考网站
用Spring Boot创建简单的Web API。
我要开始尝试使用SpringBoot(使用Maven命令)。
(来源链接:http://hiranoon.hatenablog.com/)