Go to file
Simon Baslé 2d33aac350 Improve Bean Overriding support, testing and documentation
This commit improves on the bean overriding feature in several ways:
the API is simplified and polished (metadata and processor contracts,
 etc...).

The commit also reworks infrastructure classes (context customizer,
test execution listener, BeanOverrideBeanFactoryPostProcessor, etc...).
Parsing of annotations is now fully stateless.

In order to avoid OverrideMetadata in bean definition and to make a
first step towards AOT support, the BeanOverrideBeanFactoryPostProcessor
now delegates to a BeanOverrideRegistrar to track classes to parse,
the metadata-related state as well as for the field injection methods
for tests.

Lastly, this commit increases the test coverage for the provided
annotations and adds integration tests and fixes a few `@TestBean`
issues.
2024-04-10 18:16:43 +02:00
.github
buildSrc Upgrade to AspectJ 1.9.22, Groovy 4.0.20, Tomcat 10.1.20, Netty 4.1.108, OpenPDF 1.3.43, Woodstox 6.6.2, Checkstyle 10.15 2024-04-05 18:04:58 +02:00
ci
framework-api
framework-bom
framework-docs Improve Bean Overriding support, testing and documentation 2024-04-10 18:16:43 +02:00
framework-platform Upgrade to Reactor 2024.0.0-M1 2024-04-09 19:51:42 +02:00
gradle
integration-tests
spring-aop Use ClassLoaderAwareGeneratorStrategy with UndeclaredThrowableStrategy delegate 2024-04-10 13:23:24 +02:00
spring-aspects
spring-beans Merge branch '6.1.x' 2024-04-08 22:41:02 +02:00
spring-context Merge branch '6.1.x' 2024-04-10 17:55:09 +02:00
spring-context-indexer
spring-context-support
spring-core Revert "Prevent compilation warnings with `@Nullable`" 2024-04-10 14:39:47 +02:00
spring-core-test
spring-expression Honor IndexAccessor#canWrite() and cache accessors 2024-04-10 15:54:34 +02:00
spring-instrument
spring-jcl
spring-jdbc Merge branch '6.1.x' 2024-04-09 16:15:19 +02:00
spring-jms Polish "Use try-with-resources when applicable" 2024-04-10 09:49:35 +02:00
spring-messaging
spring-orm
spring-oxm
spring-r2dbc
spring-test Improve Bean Overriding support, testing and documentation 2024-04-10 18:16:43 +02:00
spring-tx
spring-web Merge branch '6.1.x' 2024-04-10 16:44:20 +02:00
spring-webflux Polishing 2024-04-10 10:56:41 +02:00
spring-webmvc Polishing 2024-04-08 16:37:47 +02:00
spring-websocket
src
.editorconfig
.gitattributes
.gitignore
.sdkmanrc
CODE_OF_CONDUCT.adoc
CONTRIBUTING.md
LICENSE.txt
README.md
SECURITY.md
build.gradle Stop linking to Websphere's Javadoc 2024-04-05 15:57:58 +02:00
gradle.properties
gradlew
gradlew.bat
import-into-eclipse.md
import-into-idea.md
settings.gradle
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@pivotal.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.