《Spring Cloud微服务架构进阶》——3.2 构建一个微服务
3.2 构建一个微服务
下面通过构建简单的RESTful应用,了解Spring Boot的基本开发流程,体验其简单、易用的特性。创建Spring Boot项目很简单,如果使用STS或IDEA的话,新建Spring Starter项目(Spring Initializer)即可。也可以从https://start.spring.io/直接创建项目,下面分别介绍这两种方式。
1. IDEA生成
使用IDEA生成项目的主要过程如下:
1)Spring Initializer创建项目。
IDEA新建项目有多种方式,在图3-1中选择Spring Initializer的方式创建项目。
图3-1 Spring Initializer创建项目
2)设置项目的基本信息。
如图3-2所示,可以设置创建项目的包名、Group的Id、Artifact的Id和Java的版本等信息。
图3-2 设置项目基本信息
3)添加依赖。
图3-3用于添加Spring Boot的依赖。
图3-3 添加依赖
首先是Spring Boot的版本,图中使用了2.0.0正式版。并且添加了Web开发的依赖,这里可以添加的依赖很多,如spring-boot-data、security、lombok等等。添加依赖如下:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
引入的依赖是在图3-3中选定的。指定项目的parent之后,就可以在引入依赖时,不再指定依赖的版本号。spring-boot-starter-web依赖包中内置了默认的容器Tomcat,如果想要使用其他容器,如Jetty和Undertow容器,可以进行如下修改,指定默认的容器为Jetty:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
<dependencies>
4)启动类与控制类。
启动类和控制类的代码如下所示:
@SpringBootApplication
@RestController
public class Chapter3BootDemoApplication {
public static void main(String[] args) {
SpringApplication.run(Chapter3BootDemoApplication.class, args);
}
@GetMapping("/test")
public String test() {
return "this is a demo boot.";
}
}
SpringMVC中使用了3个注解作用于Chapter3BootDemoApplication类,分别是@Configuration(2.0.0版本中添加了@SpringBootConfiguration注解来代替Spring的标准配置注解@Configuration)、@EnableAutoConfiguration和@ComponentScan。SpringBoot提供了一个统一的注解@SpringBootApplication,默认属性下等于上述3个注解。
@RestController组合了@Controller和@ResponseBody注解,表明该类可以处理HTTP请求,并且返回JSON类型的响应。Spring Initializer会自动为应用生成对应的启动类,一般以*Application方式进行命名。
在启动类中增加控制类的端点,暴露出/test的端点。同时在application.properties中设置服务器启动的端点,如下所示:
server.port=8000
服务器会使用内置的Tomcat容器进行启动,服务器端口为8000。这样一个简单的Spring Boot Web应用就写好了,正常访问接口http://localhost:8000/test即可。
2. Initial生成
如果不想使用IDEA的话,也可以在Spring官方网站https://start.spring.io/创建项目,再将创建好的项目下载到本地,解压之后导入到IDEA中。
1)创建项目。如图3-4所示,填写Group的Id、Artifact的Id和项目依赖。添加项目依赖时,根据输入的关键字,会有下拉框选择提示。填好这些信息,就可以生成对应的项目。生成的项目会自动下载。
图3-4 创建项目
2)解压并导入项目。解压下载好的项目之后,会发现项目结构和IDEA中生成的一样如图3-5所示,因为IDEA中调用的API接口是Spring官方的项目生成器接口。
图3-5 解压后的项目结构
- 点赞
- 收藏
- 关注作者
评论(0)