Go to file
Sam Brannen ef4f1f0a71 Ensure @⁠BeanOverride in subclass takes precedence over superclass
Prior to this commit, a @⁠BeanOverride (such as @⁠TestBean) for a
specific target bean which was declared in a superclass always took
precedence over a bean override for the same target bean in a subclass,
thereby rendering the bean override configuration in the subclass
useless. In other words, there was no way for a test class to override
a bean override declared in a superclass.

To address that, this commit switches from direct use of
ReflectionUtils.doWithFields() to a custom search algorithm that
traverses the class hierarchy using tail recursion for processing
@⁠BeanOverride fields (delegating now to
ReflectionUtils.doWithLocalFields() in order to continue to benefit
from the caching of declared fields in ReflectionUtils).

Closes gh-34194
2025-01-04 18:27:05 +02:00
.github Update actions in CI build 2024-12-31 09:49:43 +01:00
buildSrc Upgrade to Jackson 2.18.2, RxJava 3.1.10, Checkstyle 10.20.2 2024-12-11 17:34:53 +01:00
framework-api Upgrade to Gradle 8.12 2024-12-21 16:02:15 +01:00
framework-bom
framework-docs Polish contribution 2024-12-27 09:31:34 +01:00
framework-platform Upgrade to AssertJ 3.27.1 2025-01-03 16:42:07 +02:00
gradle Upgrade to Gradle 8.12 2024-12-21 16:02:15 +01:00
integration-tests Merge branch '6.1.x' 2024-11-05 10:27:22 +01:00
spring-aop Upgrade to AssertJ 3.27.1 2025-01-03 16:42:07 +02:00
spring-aspects Merge branch '6.1.x' 2024-10-28 22:12:12 +01:00
spring-beans Fix a typo 2024-12-17 11:40:47 +01:00
spring-context List constructor arg initialized correctly 2024-12-30 14:47:26 +00:00
spring-context-indexer Polish 2024-01-17 18:41:15 +01:00
spring-context-support (Re)suppress deprecation warnings 2024-10-30 10:52:01 +01:00
spring-core Restore use of MethodSource 2025-01-03 16:53:54 +01:00
spring-core-test Merge branch '6.1.x' 2024-11-06 23:12:06 +09:00
spring-expression Support varargs-only MethodHandle as SpEL function 2024-12-18 17:59:14 +01:00
spring-instrument
spring-jcl Replace 'e.g.' with 'for example' in documentation and comments 2024-09-26 14:11:17 +02:00
spring-jdbc Polish 2024-12-10 07:47:42 +01:00
spring-jms Refer to message "receipt" instead of "reception" 2024-11-19 13:18:12 +01:00
spring-messaging Apply Checkstyle MethodParamPadCheck module 2024-12-30 09:02:06 +01:00
spring-orm Avoid logger serialization behind shared EntityManager proxy 2024-12-12 19:48:21 +01:00
spring-oxm Document XML parser usage against security false positives 2024-10-15 18:59:02 +02:00
spring-r2dbc Replace 'e.g.' with 'for example' in documentation and comments 2024-09-26 14:11:17 +02:00
spring-test Ensure @⁠BeanOverride in subclass takes precedence over superclass 2025-01-04 18:27:05 +02:00
spring-tx Revert "Reuse NoTransactionInContextException instances" 2024-12-10 11:47:56 +01:00
spring-web Improve query params in uri KeyValue with HTTP interface client 2025-01-02 20:00:38 +01:00
spring-webflux Support header filtering in web data binding 2024-12-11 16:11:22 +00:00
spring-webmvc Create ParameterErrors for type level constraint 2024-12-30 14:47:26 +00:00
spring-websocket Avoid javadoc references to deprecated types/methods 2024-12-11 16:58:37 +01:00
src Apply Checkstyle MethodParamPadCheck module 2024-12-30 09:02:06 +01:00
.editorconfig
.gitattributes
.gitignore Modernize Antora Build 2024-05-22 10:20:20 +02:00
.sdkmanrc Upgrade to Java 17.0.13 2024-12-30 12:15:24 +01:00
CONTRIBUTING.md Polish "Fix broken link to Code of Conduct in CONTRIBUTING.md" 2025-01-01 10:08:18 +01:00
LICENSE.txt
README.md Fix link to code of conduct 2024-10-08 14:03:54 +02:00
SECURITY.md Update SECURITY.md 2024-10-15 17:13:29 +01:00
build.gradle Upgrade to Gradle 8.12 2024-12-21 16:02:15 +01:00
gradle.properties Next development version (v6.2.2-SNAPSHOT) 2024-12-12 10:53:14 +01:00
gradlew Upgrade to Gradle 8.12 2024-12-21 16:02:15 +01:00
gradlew.bat Upgrade to Gradle 8.9 2024-07-14 11:21:52 +02:00
import-into-eclipse.md
import-into-idea.md
settings.gradle Fix build warnings 2024-04-30 19:10:31 +02:00
update_copyright_headers.sh

README.md

Spring Framework Build Status Revved up by Develocity

This is the home of the Spring Framework: the foundation for all Spring projects. Collectively the Spring Framework and the family of Spring projects are often referred to simply as "Spring".

Spring provides everything required beyond the Java programming language for creating enterprise applications for a wide range of scenarios and architectures. Please read the Overview section of the reference documentation for a more complete introduction.

Code of Conduct

This project is governed by the Spring Code of Conduct. By participating, you are expected to uphold this code of conduct. Please report unacceptable behavior to spring-code-of-conduct@spring.io.

Access to Binaries

For access to artifacts or a distribution zip, see the Spring Framework Artifacts wiki page.

Documentation

The Spring Framework maintains reference documentation (published and source), GitHub wiki pages, and an API reference. There are also guides and tutorials across Spring projects.

Micro-Benchmarks

See the Micro-Benchmarks wiki page.

Build from Source

See the Build from Source wiki page and the CONTRIBUTING.md file.

Continuous Integration Builds

Information regarding CI builds can be found in the Spring Framework Concourse pipeline documentation.

Stay in Touch

Follow @SpringCentral, @SpringFramework, and its team members on 𝕏. In-depth articles can be found at The Spring Blog, and releases are announced via our releases feed.

License

The Spring Framework is released under version 2.0 of the Apache License.