前言
有看过我之前的SSM系列的朋友应该有一点印象是非常深刻的。
那就是需要配置的配置文件非常多,什么
Spring
、mybatis
、redis
、mq
之类的配置文件非常多,并且还存在各种版本,甚至有些版本还互不兼容。其中有很多可能就是刚开始整合的时候需要配置,之后压根就不会再动了。
鉴于此,Spring
又推出了又一神器SpringBoot.
它可以让我们更加快速的开发Spring
应用,甚至做到了开箱即用。
由于在实际开发中我们使用SpringBoot
+SpringCloud
进行了一段时间的持续交付,并在生产环境得到了验证,其中也有不少踩坑的地方,借此机会和大家分享交流一下。
本篇我们首先会用利用SpringBoot
构建出一个简单的REST API
.
接着会创建另一个SpringBoot
项目,基于SpringCloud
部署,并在两个应用之间进行调用。
使用SpringBoot
构建REST API
我们可以使用Spring
官方提供的初始化工具帮我们生成一个基础项目:start.spring.io/,如下图所示:
sb2.jpg
填入相应信息即可。由于只是要实现REST API
所以这里只需要引用web
依赖即可。
将生成好的项目导入IDE
(我使用的是idea
)中,目录结构如下;
sb3.jpg
- 其中的
SbcUserApplication
是整个应用的入口。
resource/application.properties
这里是存放整个应用的配置文件。
- 其中的
static
和templates
是存放静态资源以及前端模板的地方,由于我们采用了前后端分离,所以这些目录基本上用不上了。
通过运行SbcUserApplication
类的main
方法可以启动SpringBoot
项目。
接着在PostMan
中进行调用,看到以下结果表明启动成功了:
springBoot01.jpg
这样一看是不是要比之前用Spring+SpringMVC
来整合要方便快捷很多。
创建另一个SpringBoot
项目
当我们的项目采用微服务构建之后自然就会被拆分成N多个独立的应用。比如上文中的sbc-user
用于用户管理。这里再创建一个sbc-order
用户生成订单。
为了方便之后的代码复用,我将
common
包中的一些枚举值、工具类单独提到sbc-common
应用中了,这样有其他应用要使用这些基础类直接引入这个依赖即可。
<dependency> <groupId>com.crossoverJie</groupId> <artifactId>sbc-common</artifactId> <version>1.0.0-SNAPSHOT</version> </dependency>
创建步骤和上文差不多,这里就不再赘述了。
其中有一个order/getOrderNo
的服务,调用结果如下:
springBoot02.jpg
之后会利用SpringCloud
来将两个服务关联起来,并可以互相调用。