购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 使用Spring开发微服务

Spring已经成为构建基于Java的应用程序的最流行的开发框架。Spring的核心是建立在依赖注入的概念上的。 依赖注入框架 (dependency injection framework)允许你通过约定(以及注解)将应用程序中对象之间的关系外部化,而不是在对象内部彼此硬编码实例化代码,这使开发人员能更高效地管理大型Java项目。Spring在应用程序的不同的Java类之间充当中间人,管理着它们的依赖关系。Spring本质上就是让你像玩乐高积木一样将自己的代码组装在一起。

Spring框架令人印象深刻的地方在于它能够与时俱进并进行自我改造。Spring开发人员很快发现,许多开发团队正在从将应用程序的展现、业务和数据访问逻辑打包在一起并部署为单个制品的单体应用程序模型中迁移,转向高度分布式的模型,在这种模型中,小型服务可以快速部署到云端。为了响应这种转变,Spring开发人员启动了两个项目,即Spring Boot和Spring Cloud。

Spring Boot是对Spring框架理念重新思考的结果。虽然Spring Boot包含了Spring的核心特性,但它剥离了Spring中的许多“企业”特性,而提供了一个基于Java的、面向REST(Representational State Transfer,表征状态转移)的微服务框架。只需一些简单的注解,Java开发者就能够快速构建一个可打包和部署的REST服务,这个服务并不需要外部的应用容器。

注意 虽然本书会在第3章中更详细地介绍REST,但REST背后的核心概念是,服务应该使用HTTP动词(GET、POST、PUT和DELETE)来代表服务中的核心操作,并且应该使用轻量级的面向Web的数据序列化协议(如JSON)来从服务请求数据和从服务接收数据。

Spring Boot的主要特性如下。

● 嵌入式Web服务器,用于避免应用程序部署的复杂性:Tomcat(默认)、Jetty或Undertow。
这是Spring Boot的一个基本概念,所选的Web服务器是可部署JAR文件的一部分。对于Spring Boot应用程序,部署应用程序的唯一必要条件是在服务器上安装Java。

● 快速启动项目的建议配置(各种starter项目)。

● 尽可能地自动配置Spring功能。

● 可供生产使用的广泛特性(如度量、安全性、状态验证、外部化配置等)。

使用Spring Boot对我们的微服务有以下好处。

● 减少开发时间,提高效率和生产力。

● 提供嵌入式HTTP服务器来运行Web应用程序。

● 避免编写很多样板式代码。

● 促进与Spring生态系统的集成(包括Spring Data、Spring Security、Spring Cloud等)。

● 提供一套各种开发插件。

在构建基于云的应用程序时,微服务已经成为十分常见的架构模式之一,因此Spring开发人员社区为开发人员提供了Spring Cloud。Spring Cloud框架使得将微服务实施和部署到私有云或公有云变得更加简单。Spring Cloud在一个公共框架中封装了多个流行的云管理微服务框架,并且让这些技术的使用和部署像为代码添加注解一样简便。第2章将介绍Spring Cloud中的不同组件。 LYZ/8TrXw0gy+JXyTBFzLOP7lmYoc9RWjyAS+IsQ/Cg+O2dwmURSpyM+SB4bumyo

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开