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个主要功能:
- 类型为
Function
,Consumer
和Supplier
的@Beans
的包装程序,将它们作为HTTP端点和/或消息流侦听器/发布程序使用RabbitMQ,Kafka等 - 将作为Java函数体的字符串编译为字节码,然后将其转换为
@Beans
,可以像上面那样进行包装。 - 使用隔离的类加载器部署包含此类应用程序上下文的JAR文件,以便可以将它们打包在一起在单个JVM中。
- 适用于AWS Lambda, Azure ,Apache OpenWhisk以及其他“无服务器”服务提供商的 适配器。
Spring Cloud是根据非限制性Apache 2.0许可证发行的。如果您想为文档的这一部分做出贡献或发现错误,请在github 的项目中找到源代码和问题跟踪程序。
以上内容是否对您有帮助:
更多建议: