close

弹簧云功能

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

  • 通过功能促进业务逻辑的实现。

  • 将业务逻辑的开发生命周期与任何特定的运行时目标脱钩,以便可以将相同的代码作为Web终结点,流处理器或任务来运行。

  • 支持跨无服务器提供程序的统一编程模型,以及独立运行(本地或在PaaS中)的能力。

  • 在无服务器提供程序上启用Spring Boot功能(自动配置,依赖项注入,指标)。

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

特征

Spring Cloud Function功能:

  • 编程风格的选择-反应式,命令式或混合式。

  • POJO函数(即,如果符合@FunctionalInterface语义的内容,我们将其视为函数)

  • 输入和输出的透明类型转换。

  • 函数组成,包括将命令性函数与反应性组成。

  • REST支持将功能公开为HTTP端点等。

  • 通过Spring Cloud Stream框架向函数传递数据(通过Apache KafkaSolaceRabbitMQ等)。

  • 使用隔离的类加载器部署打包为JAR文件的功能,以在单个JVM中支持多版本部署。

  • 特定于目标平台的部署打包功能(例如,Project Riff,AWS Lambda等)

  • 适用于AWS LambdaMicrosoft AzureApache OpenWhisk以及其他“无服务器”服务提供商的适配器。

  • 支持具有多个输入和输出的反应式功能,从而允许功能处理合并,联接和其他复杂的流操作。

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

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

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

的GitHub

工件和样品

spring-cloud-function- *下的Maven Central存储库中提供了spring-cloud-function的各种模块的工件。至少您将需要模块。spring-cloud-function-context

您也可以尝试在项目GitHub的存储库中获得我们的示例

与我们交谈

如果您希望做出贡献,则可以选择当前列出的任何问题,或者仅提交具有您认为会对项目有益的功能的PR。您还可以查找ideal-for-contribution label的问题。

样本项目和社区贡献

SpringInitializr

快速启动您的项目

使用 Spring Initializr引导您的应用程序 。

文献资料

每个Spring项目都有自己的项目。它详细说明了如何使用项目功能以及使用它们可以实现的功能。
3.1.1 当前 GA 参考文件 API文件
3.0.14发布 GA 参考文件 API文件