使用Spring Boot初始化RESTful Web服务项目

步骤1:https://spring.io/tools3/sts/all 下载 Spring Tool Suite (STS) 并解压。

步骤2: 启动 STS

步骤3: 点击 文件 菜单 -> 新建 -> Spring Starter 项目 ->

restful-web-services-example.png

如果 Spring Starter 项目 未列出,那么在菜单底部点击 Other。屏幕上会出现一个对话框。在 Wizards 文本框中键入 Spring Starter 项目,然后点击 Next 按钮。

restful-web-services-example2.png

步骤4: 提供项目的名称、组和包。我们提供了:

名称:restful-web-services

组:cn.javatiku

包:cn.javatiku.server.main

点击 Next 按钮。

restful-web-services-example3.png

步骤5: 选择 Spring Boot 版本 2.1.8

restful-web-services-example4.png

步骤6: 在项目资源管理器窗口中可以看到项目结构。

restful-web-services-example5.png

步骤7: 前往 Maven 仓库 https://mvnrepository.com/ 并在 pom.xml 文件中添加 Spring Web MVC,Spring Boot DevTools,JPAH2 依赖项。添加依赖项后,pom.xml 文件如下所示:

pom.xml

<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>  
<parent>  
<groupId>org.springframework.boot</groupId>  
<artifactId>spring-boot-starter-parent</artifactId>  
<version>2.1.8.RELEASE</version>  
<relativePath/> <!-- lookup parent from repository -->  
</parent>  
<groupId>cn.javatiku</groupId>  
<artifactId>restful-web-services</artifactId>  
<version>0.0.1-SNAPSHOT</version>  
<name>restful-web-services</name>  
<description>Demo project for Spring Boot</description>  
<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-activemq</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-tomcat</artifactId>  
</dependency>  
<dependency>  
<groupId>org.springframework</groupId>  
<artifactId>spring-webmvc</artifactId>  
</dependency>  
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->  
<dependency>  
<groupId>org.springframework.boot</groupId>  
<artifactId>spring-boot-devtools</artifactId>  
<scope>runtime</scope>  
</dependency>  
<!-- https://mvnrepository.com/artifact/org.hibernate.javax.persistence/hibernate-jpa-2.1-api -->  
<dependency>  
<groupId>org.hibernate.javax.persistence</groupId>  
<artifactId>hibernate-jpa-2.1-api</artifactId>  
<version>1.0.0.Final</version>  
</dependency>  
<!-- https://mvnrepository.com/artifact/com.h2database/h2 -->  
<dependency>  
<groupId>com.h2database</groupId>  
<artifactId>h2</artifactId>  
<scope>runtime</scope>  
</dependency>  
<dependency>  
<groupId>org.apache.maven</groupId>  
<artifactId>maven-archiver</artifactId>  
<version>2.5</version>  
</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>  
</project>  

步骤8: 现在打开 RestfulWebServicesApplication.java 文件并将其运行为 Java 应用程序。

package cn.javatiku.server.main;  
import org.springframework.boot.SpringApplication;  
import org.springframework.boot.autoconfigure.SpringBootApplication;  
@SpringBootApplication  
public class RestfulWebServicesApplication   
{  
public static void main(String[] args)   
{  
SpringApplication.run(RestfulWebServicesApplication.class, args);  
}  
}  

这只是确保应用程序正常运行,并没有实际的服务操作。

输出

restful-web-services-example6.png

创建一个 Hello World 服务

步骤1: 在包 cn.javatiku.server.main 中创建一个名为 HelloWorldController 的新类。

步骤2: 在创建 Web 服务时,我们需要定义两个事务:Get 方法和 URI。现在创建一个返回字符串 "Hello World" 的 helloWorld() 方法。如果我们想要告诉 Spring MVC 它将处理 REST 请求,我们必须添加 @RestController 注解。现在它变成了一个可以处理 REST 请求的 REST 控制器。

接下来要做的是为该方法创建一个映射。在 helloWorld() 方法上面添加 @RequestMapping 注解。HelloWorldController 代码如下:

package cn.javatiku.server.main;  
import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.web.bind.annotation.RequestMethod;  
import org.springframework.web.bind.annotation.RestController;  
//Controller  
@RestController  
public class HelloWorldController   
{  
//using get method and hello-world as URI  
@RequestMapping(method=RequestMethod.GET, path="/hello-world")  
public String helloWorld()  
{  
return "Hello World";  
}  
}  

我们还可以使用 @GetMapping 注解来改进上面的代码,而不需要指定方法。这样可以使代码更加简洁:

package cn.javatiku.server.main;  
import org.springframework.web.bind.annotation.GetMapping;  
import org.springframework.web.bind.annotation.RestController;  
//Controller  
@RestController  
public class HelloWorldController   
{  
//using get method and hello-world as URI  
@GetMapping(path="/hello-world")  
public String helloWorld()  
{  
return "Hello World";  
}  
}  

步骤3: 运行 RestfulWebServicesApplication。浏览器上将显示字符串 Hello World

改进 Hello World 服务以返回一个 Bean

在这一部分,我们将为 helloWorld() 方法生成一个 Bean。

步骤1:HelloWordController.java 文件中创建一个 helloWorldBean() 方法。将 URI 映射到 "/hello-world-bean",并返回 HelloWorldBean

HelloWorldController.java

package cn.javatiku.server.main;  
import org.springframework.web.bind.annotation.GetMapping;  
import org.springframework.web.bind.annotation.RestController;  
//Controller  
@RestController  
public class HelloWorldController   
{  
//using get method and hello-world URI  
@GetMapping(path="/hello-world")  
public String helloWorld()  
{  
return "Hello World";  
}  
@GetMapping(path="/hello-world-bean")  
public HelloWorldBean helloWorldBean()  
{  
return new HelloWorldBean("Hello World"); //constructor of HelloWorldBean  
}  
}  

步骤2: 创建一个名为 HelloWorldBean 的类。

步骤3: 生成 Getters 和 Setters

右键单击 -> Source -> Generate Getters and Setters -> 勾选框 -> Ok

步骤4: 生成 toString()

右键单击 -> Source -> Generate toString().. -> Ok

HelloWorldBean.java

package cn.javatiku.server.main;  
public class HelloWorldBean   
{  
public String message;  
//constructor of HelloWorldBean  
public HelloWorldBean(String message)  
{  
this.message=message;  
}  
//generating getters and setters  
public String getMessage()  
{  
return message;  
}  
public void setMessage(String message)   
{  
this.message = message;  
}  
@Override  
//generate toString  
public String toString()   
{  
return String.format ("HelloWorldBean [message=%s]", message);  
}  
}  

步骤5: 启动 HelloWorldController。浏览器的 URL 变为 localhost:8080/hello-world-bean

它以 JSON 格式返回消息 "Hello World"。

{  
message: "Hello World"  
}  

标签: spring, Spring教程, Spring语言学习, Spring框架, Spring框架教程, Spring框架高级教程, spring boot, spring boot入门教程, spring boot学习教程, spring boot下载, spring boot框架入门, spring boot面试题, spring boot笔试题, spring boot学习指南, spring boot技术