龑凯

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Spring Boot是一个真正的游戏改变者,它的受欢迎程度现在不断增加。让我们看看Spring Boot到底是什么?Spring Boot是一个构建在Spring框架顶部的项目。它提供了一种更简单、更快捷的方法来设置、配置和运行简单和基于Web的应用程序。

 

在过去Spring框架中,我们需要为应用配置所有的内容,会有许多配置文件,例如XML或元注释,这是Spring Boot解决的主要问题之一,基本无需XML配置了,都使用@注释。
 
Spring boot巧妙地根据我们选择的依赖配置,可以自动启动我们想要的所有功能,并且只需单击一下即可启动应用程序。此外,它还简化了应用程序的部署过程。
 
 初次使用Spring Boot可能让你感觉似乎发生了什么许多“神奇”的事情。
 
Spring Boot Starters:帮助启动项目,它会自动添加启动项目和依赖项。
 
微服务是一种细小粒度的服务,可直接通过端口对外提供服务,Spring Boot提供REST风格API暴露微服务,与客户端交换采取JSON数据格式。
 
Spring Boot的最佳功能之一是它根据您的依赖关系自动配置您的应用程序。它不仅智能,活跃,而且具有上下文智能,并记录您的要求。我们以数据库功能为例。如果你向pom.xml添加了一个需求,它与数据库有某种关系,那么Spring引导本身假定你想要使用数据库,因此它允许你的应用程序随时使用该数据库。
 
只要在pom.xml增加相应依赖就等同于加入相应的组件:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
 
上面配置说明这个应用启动了pring-boot-starter-web的功能,也就是能提供REST端点暴露,让客户端通过/xxx/xx这样形式URL访问内部服务和资源。
 
Spring专门提供了https://start.spring.io/让你选择一个SpringBoot需要的组件。Idea等开发工具提供了自动导航服务。
 
创建一个SpringBoot的微服务应用,只要在应用入口类上标注@SpringBootApplication:
 
Spring Boot除了提供入口函数以外,还提供配置,有两种形式:application.properties和application.yaml,后一种格式在Docker和K8s容器编排中比较常用。比如上面启动了JPA,那么可以在applciation.properties中配置JPA的配置:
 
这就具体指明了JPA实现使用Hibernate,具体数据库时MySQL。
 
Spring Cloud中各个组件的配置基本都是在这里实现,基本无需写任何代码就可以实现服务网关、服务发现和负载平衡以及断路器功能。
 
一般情况下,一个SpringBoot应用 = 一个微服务 = 一个模块 = 一个有边界的上下文,如果有多个模块,我们就开发多个微服务,多个SpringBoot应用,然后使用Springcloud实现它们之间动态访问和监控。 但是有时我们也会希望将多个模块放入一个SpringBoot应用中,这样模块之间调用可以在一个JVM内进行,适合小型系统的部署,随着规模扩大,我们还可将这些模块变成一个个微服务,以SpringBoot应用分布式运行。
 
 
posted on 2021-01-03 13:05  龑凯  阅读(118)  评论(0编辑  收藏  举报