
Spring 异常 “No Multipart Boundary Was Found”
<h2>1、简介 {#1简介}</h2> <p>本文将带你了解在 Spring 中处理文件上传(Multipart)请求时出现异常:"No Multipart Boundary Was Found" 的原因,以及解决办法。</p> <h2>2、理解 Multipart 请求 {#2理...
<h2>1、简介 {#1简介}</h2> <p>本文将带你了解在 Spring 中处理文件上传(Multipart)请求时出现异常:"No Multipart Boundary Was Found" 的原因,以及解决办法。</p> <h2>2、理解 Multipart 请求 {#2理...
<p>先说结论,<strong>使用 @Order 注解或者是实现 <code>Ordered</code> 接口并不能控制 Bean 的加载顺序</strong>。</p> <h2>一、@Order 注解和 Ordered 接口 {#一order-注解和-ordered-接口}</h2&...
<h2>Open AI 和 Spring AI 简介 {#open-ai-和-spring-ai-简介}</h2> <p>当 OpenAI 发布 <em>ChatGPT</em> 时,它在全球掀起了一场风暴。这是第一次有语言模型能够根据提示生成类似人类的回答。此后,OpenAI 又发布了其他几个模型,包括可以根据文字提...
<h2>1、概览 {#1概览}</h2> <p>在构建处理敏感数据的 Web 应用时,确保用户密码的安全性非常重要。密码安全的一个重要方面是检查密码是否泄露,这通常是由于密码出现在 <em>数据泄露事件</em> 中。</p> <p><a href="/spring-securi...
<h2>1、简介 {#1简介}</h2> <p>Spring <a href="https://51tbox.com/">WebClient</a> 是一款非阻塞、响应式的 HTTP 客户端,而 <a href="https://github.com/wiremock/wiremoc...
1、概览 {#1概览} ----------- 本文将带你了解 Spring Async 和 Spring WebFlux 之间的区别。 2、场景 {#2场景} ----------- 本文分别用 Spring Async 和 Spring WebFlux 来实现一个简单的 Web 应用。 Web 请求会通过一个延迟时间为 200 毫秒的 Filter,然后 Contr...
<p>本文将带你了解如何在 Spring Boot 应用中配置优雅停机。</p> <h2>1、优雅停机 {#1优雅停机}</h2> <p>从 <a href="https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3-Rele...
1、概览 {#1概览} ----------- [Spring Boot](/spring-boot/) 中的一个常见做法是使用外部配置来定义属性。这样,就可以在不同的环境中使用相同的应用程序代码。 外部配置可以使用 properties 文件、YAML 文件、环境变量和命令行参数。 本文将带你了解 properties 文件和 YAML 文件的主要区别。 2、Prop...
1、概览 {#1概览} ----------- [Spring Boot](/spring-boot/) 提供了几种不同的方法来检查运行中的应用及其组件的状态和健康状况。在这些方法中,`HealthContributor` 和 `HealthIndicator` API 是值得注意的两种。 本文将带你了解这些 API 的原理以及如何向它们提供自定义信息。 2、依赖 {#2...
1、简介 {#1简介} ----------- 本文将带你了解 [Spring WebFlux](/spring/web-reactive.html#spring-web-reactive) 响应式应用中的并发。 2、响应式编程的动机 {#2响应式编程的动机} ----------------------- 一个典型的 Web 应用由多个复杂的交互部分组成。其中许多交互在...