SPRING 一月 26, 2025

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

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

Context CachingSpring Framework 中的 Spring TestContext Framework 所提供的 Context Management 上下文管理能力对测...

查看全文

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 十月 27, 2024

【译】Spring Boot 2.0 中的属性绑定

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

自 Spring Boot 的第一个版本发布以来,就可以使用 @ConfigurationProperties 注解将属性绑定到类。还可以用不同的形式指定属性名称。例如,person.first-nameperson.firstNamePERSON_FIRSTNAME 都可以互换使用。我们称这个功能为“宽松绑定”(relaxed binding)。

不幸的是,在 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 应用中将多个请求...

查看全文

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 ...
查看全文

SPRING 七月 10, 2022

【转】Spring 之 Interceptor

文章字数 5.3k 阅读约需 5 mins.

原文地址:https://wyiyi.github.io/amber/2022/07/01/interceptor/

什么是拦截器

在 Spring Web MVC 中,拦截器(Interceptor)同 Servlet 中的过滤器(Filter) 类似,都可以实现对用户的请求做出相应的处理。

所有 HandlerMapping 的实现都支持处理程序拦截器,当想将特定功能应用于某些请求时很有用 —— 例如检查权限。
拦截器必须实现 org.springframework.web.servlet 包中...

查看全文

SPRING 一月 09, 2022

Spring boot 应用不重新打包,添加新类

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

因为某些约束,我们可能不希望对 Spring Boot 应用重新打包,却又需要调整其中的某些行为(如:添加新类),有没有办法?

1. PropertiesLauncher

修改启动命令,不再是使用 java -jar 方式启动,而是使用传统的 Java 应用启动方式,先通过 -cp 参数将 Fat Jar (example.jar)加入 classpath,然后指定运行的主类 PropertiesLauncher,并且通过 -D 参数,将系统属性传入主类中。

$ java -cp example....
查看全文

SPRING 八月 22, 2021

HTML <form> 只支持 GET 和 POST!

文章字数 5.1k 阅读约需 5 mins.

在 Web 开发中,常规的提交数据方式为使用 form 表单,例如:

<form action="" method="get" class="form-example">
  <div class="form-example">
    <label for="name">Enter your name: </label>
    <input type="...
查看全文
加载更多
0%