SPRING 九月 27, 2025

如何找到 SpringBoot 应用中的所有 BeanFactory

文章字数 9.3k 阅读约需 8 mins.

还在给每个请求加前缀避免模块间接口冲突呢? 中,我们讨论了在一个 Spring Boot 应用中注册多个 DispatcherServlet 来实现应用上下文隔离的方案,以达到在不同 Servlet...

查看全文

SPRING 八月 31, 2025

Spring 中 BeanFactory 和 ApplicationContext 的关系梳理

文章字数 593 阅读约需 1 mins.

几个重点:

  1. BeanFactory 接口提供的查找 Bean 的方法,需要时都会到父级工厂(如果有的话)中去查找。
  2. ListableBeanFactory 接口中可以获得一类 Bean,不会包含父级工厂中的 Bean。
  3. ApplicationContext 接口继承了 ListableBeanFactory 接口,同时继承了 HierarchicalBeanFactory 接口以支持父级上下文。
  4. WebApplicationContext 接口在 ApplicationContext 的基础...
查看全文

SPRING 一月 26, 2025

Spring Test 模块中的上下文缓存特性

文章字数 8.7k 阅读约需 8 mins.

Context CachingSpring Framework 中的 Spring TestContext Framework 所提供的 Context Management 上下文管理能力对测试所需使用的应用上下文的缓存支持,以减少初始化相同的应用上下文导致的时间浪费。

当执行测试用例时,若未能完全复用缓存中的 context,将会无谓的拖慢测试阶段的耗时,进而影响快速反馈的效果。

那么初始化多个 context 会对构建时间产生多大的影响呢?

这个问题会因环境而异:不同的初始化次数、容...

查看全文

AI 十二月 01, 2024

用 Spring AI 调用 OpenAI 对话接口

文章字数 7.3k 阅读约需 7 mins.

使用 Spring AI 需要 JDK 17 及以上版本。

$ java -version
openjdk version "17.0.2" 2022-01-18
OpenJDK Runtime Environment (build 17.0.2+8-86)
OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)

https://start.spring.io/ 下载一个包含 Spring Web...

查看全文

SPRING 十一月 10, 2024

【译】Spring Boot 配置绑定

文章字数 13k 阅读约需 12 mins.

本页面的目的是详细描述配置项如何绑定到实际对象。它主要面向 IDE 开发人员,但任何对了解绑定工作原理感兴趣的人都可以在本文档中找到有价值的资源。

注意:IDE 对配置绑定的辅助特性在 单独的文档 中描述。

无论外部配置文件格式如何,整个 Environment 归结为一组概念上层次结构化的键。让我们看一个例...

查看全文

SPRING 十一月 03, 2024

【转】解析 Spring 计划任务执行多次之谜及解决方案

文章字数 3.9k 阅读约需 4 mins.

原文地址:https://wyiyi.github.io/amber/2024/11/01/Scheduled/

Spring项目中,@Scheduled注解配置的计划任务(Scheduled Tasks)可能会出现执行多次的情况,尤其是在以下场景中:

  • 一个父类定义了@Scheduled注解的方法,且被多个子类继承。
  • 父类或子类被Spring容器错误地实例化为多个Bean实例。

本文将针对该特定场景,剖析导致计划任务重复执行的原因,并针对性地提出解决措施。

Spring项目中,我们定义了...

查看全文

SPRING 十月 20, 2024

Spring Cloud 的 Release Train 和版本兼容性

文章字数 2.9k 阅读约需 3 mins.

https://github.com/spring-cloud/spring-cloud-release/wiki/Release-Train-Naming-Convention

Spring Cloud 是一个包含多个独立项目的总项目,这些项目原则上有不同的发布节奏。为了管理这个组合项目,会发布一个 BOM(材料清单),其中包含对各个独立项目的依赖版本集合。

从历史上看,发布列车有名称而不是版本,以避免与子项目混淆。这些名称是按字母顺序排列的(因此可以按时间顺序排序),使用的是伦敦地铁站的名称...

查看全文

SPRING 四月 27, 2024

【译】如何在 Spring 中将 @RequestParam 绑定到对象

文章字数 8.1k 阅读约需 7 mins.

你的请求映射方法中是否有多个用 @RequestParam 注解的参数?是否感觉它们影响了易读性?

当请求只有一两个入参时,这个注解看起来非常直观,但是当参数列表变长时,你可能会感到不知所措。

你不能在对象内部使用 @RequestParam 注解,但这并不意味着你没有其他解决方案。在这篇文章中,我将向你展示 如何在 Spring 应用中将多个请求...

查看全文

JAVA 八月 13, 2023

Thymeleaf —— 简化 Java Web 开发的强大模板引擎

文章字数 15k 阅读约需 14 mins.

原文地址:https://wyiyi.github.io/amber/2023/08/01/thymeleaf/

Thymeleaf 是一种用于在服务器端和客户端之间渲染 HTML、XML、JavaScript、CSS 和文本的 Java 模板引擎。

模板引擎在 Web 领域的主要作用:让网站实现界面和数据分离,这样大大提高了开发效率,提供自然、灵活的模板处理功能,让代码重用更加容易。

查看全文

SPRING 十二月 04, 2022

为非全局路径配置 Filter 的两种方法

文章字数 16k 阅读约需 15 mins.

原文地址:https://wyiyi.github.io/amber/2022/12/01/filter-note/

Filter 上加 @WebFilter (javax.servlet.annotation.WebFilter),指定 value,启动类加 @ServletComponentScan

【注意】:@ServletComponentScan 这个注解仅对内嵌的 tomcat 生效,如果使用单独的 tomcat,这种方式无效

示例一:

@WebFilter(filterName ...
查看全文
加载更多
0%