Dave Syer
Spring Cloud、Spring Boot、Spring Batch 的创始人,Spring Security OAuth 的负责人,以及 Spring Integration、Spring Framework、Spring AMQP、Spring Security 的活跃贡献者。经验丰富的、以交付为中心的架构师和开发经理。曾使用 Spring 设计和构建成功的企业软件解决方案,并在全球各大机构中实施。
超媒体和浏览器增强
如今的前端开发主要由大型 JavaScript 客户端框架主导。有很多充分的理由可以解释这一点,但对于许多用例来说,它可能非常低效,并且框架工程变得极其复杂。在本文中,我想探索一种不同的方法,一种更有效、更灵活的方法,它由更小的构建块构建而成,并且非常适合 Spring 等服务器端应用程序框架(或各种服务器端语言中的类似工具)。这个想法是拥抱超媒体的概念,想象一下下一代浏览器将如何……
使用 Spring Boot 应用程序进行客户端开发 - 第 2 部分
使用 SSE 流的纯 Javascript
在这个简单的 HTML 替换用例中,Vue 并没有真正增加很多价值,并且它不会对 SSE 示例增加任何价值,因此我们将继续使用原生 Javascript 实现它。这是一个流选项卡
<div class="tab-pane fade" id="stream" role="tabpanel">
<div class="container">
<div id="load"></div>
</div>
</div>
以及一些用于填充它的 Javascript 代码
<script type="module">
var events = new EventSource("/stream");
events.onmessage = e => {
document.getElementById("load").innerHTML = e.data;
}
</script>
使用 React 实现动态内容
…使用 Spring Boot 应用程序进行客户端开发
本文探讨了 Spring Boot 开发人员在应用程序的客户端(浏览器)端使用 Javascript 和 CSS 的不同选项。计划的一部分是探索一些在 Spring Web 应用程序的传统服务器端渲染世界中表现良好的 Javascript 库。这些库往往对应用程序开发人员的影响很小,因为它们允许您完全避免使用 Javascript,但仍然拥有良好的渐进式“现代”UI。我们还将研究一些更“纯”的 Javascript 工具和框架。这有点像一个频谱,因此作为 TL;DR,这里……
用于 RSocket 的“Wiremock”
如果您的应用程序在运行时连接到 RSocket 服务器,如何对其进行测试?我们需要一种方法让测试启动服务器并告诉我们它在哪个端口监听,然后我们需要能够注册请求和响应示例(也称为“契约”)。这就是这个 项目 提供的功能 - 它就像 Wiremock,但用于 RSocket。
入门
使用该项目的最简单方法是作为 JUnit(Jupiter)扩展,例如
@SpringBootTest
@ExtendWith(RSocketServerExtension.class)
class SocketsApplicationTests {
...
}
安装此扩展后,Spring Boot 测试将在 test.rsocket.server.port
指定的端口上运行 RSocket 服务器,因此测试可以直接连接到它,或者(更可能的是)它正在测试的代码将连接到它。您可能需要通过 @SpringBootTest
注解告诉它连接到哪里,例如,如果应用程序在运行时查找名为 rsocket.port
的属性……
Spring Cloud Function 原生镜像
以下是 Spring Cloud Function 在 AWS Lambda 上内存与计费的最新图表。它显示了作为 Lambda 中内存分配函数的计费指标 GBsec,用于两个自定义运行时,一个使用纯 Java,另一个使用 GraalVM 原生镜像,如 Andy Clement 最近在这篇博客文章中所述
在这两种情况下,功能都是相同的(一个简单的 POJO-POJO 函数),并且它们都只显示冷启动的结果。热启动(在请求到来时函数已处于活动状态)的速度和成本要低得多(除了最小的内存设置外,所有设置的成本都相同……
Spring Boot 中的手动 Bean 定义
假设您想使用 Spring Boot,但不想 @EnableAutoConfiguration
。您应该怎么做?在 之前的一篇文章 中,我展示了 Spring 本身是快速且轻量级的,但改进启动时间的简短建议之一是考虑手动导入 Spring Boot 自动配置,而不是自动全部导入。它并非适用于所有应用程序的正确做法,但它可能有所帮助,并且了解选项肯定不会有害。在这篇文章中,我们探讨了手动配置的各种方法,并评估了它们的……
Spring 的速度有多快?
性能一直是 Spring 工程团队的首要任务之一,我们不断监控和响应变化以及反馈。最近(在过去 2-3 年中)完成了一些相当密集且精确的工作,本文旨在帮助您找到这些工作的成果,并学习如何在您自己的应用程序中衡量和提高性能。标题是 Spring Boot 2.1 和 Spring 5.1 对启动时间和堆使用量进行了一些非常不错的优化。以下是由测量堆受限应用程序的启动时间生成的图表
当您……
容器中的 Spring Boot
Spring Cloud Function 中的功能 Bean 注册
Spring Cloud Function 在 2.0(仍在里程碑阶段)中具有一些新功能,可能最引人注目的是能够“完全面向功能”。这得益于 Spring Boot 2.1 和 Spring Framework 5.1 中的变化,这意味着在 Spring 应用程序中思考 Bean 定义的不同方式,但也显著提高了启动性能。
AWS 成本节省
从图片开始总是好的,尤其是在它讲述了一个故事的时候。以下是一个图表,显示了 Spring Cloud Function 2.0 相比于 1.0 的改进,比较了……中的冷启动成本。