Spring Cloud 功能引言

2024-01-05 16:55 更新

Spring Cloud功能是一个具有以下高级目标的项目:

  • 通过功能促进业务逻辑的实现。
  • 将业务逻辑的开发生命周期与任何特定的运行时目标脱钩,以便相同的代码可以作为web端点,流处理器或任务来运行。
  • 支持跨无服务器提供程序的统一编程模型,以及独立运行(本地或在PaaS中)的能力。
  • 在无服务器提供程序上启用Spring Boot功能(自动配置,依赖项注入,指标)。

它抽象出了所有传输细节和基础结构,使开发人员可以保留所有熟悉的工具和流程,并专注于业务逻辑。

这是一个完整的,可执行的,可测试的Spring Boot应用程序(实现简单的字符串操作):

@SpringBootApplication
public class Application {

  @Bean
  public Function<Flux<String>, Flux<String>> uppercase() {
    return flux -> flux.map(value -> value.toUpperCase());
  }

  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }
}

它只是一个Spring Boot应用程序,因此可以像其他任何Spring Boot应用程序一样在本地以CI生成,运行和测试它。Function来自java.util,而Flux是来自项目Reactor的反应性流Publisher 来自项目Reactor反应性流 {5297 /}可以通过HTTP或消息传递来访问该功能。

Spring Cloud功能具有4个主要功能:

  1. 类型为FunctionConsumerSupplier@Beans的包装程序,将它们作为HTTP端点和/或消息流侦听器/发布程序使用RabbitMQ,Kafka等
  2. 将作为Java函数体的字符串编译为字节码,然后将其转换为@Beans,可以像上面那样进行包装。
  3. 使用隔离的类加载器部署包含此类应用程序上下文的JAR文件,以便可以将它们打包在一起在单个JVM中。
  4. 适用于AWS Lambda Azure Apache OpenWhisk以及其他“无服务器”服务提供商的 适配器

Spring Cloud是根据非限制性Apache 2.0许可证发行的。如果您想为文档的这一部分做出贡献或发现错误,请在github 的项目中找到源代码和问题跟踪程序


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号