Improve documentation for ApplicationEvents
to clarify recommended usage
#35335
+7
−5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR improves the Javadoc of
ApplicationEvents
to better guide developers on its proper usage.Problem
The current Javadoc mentions field injection with
@Autowired
before method parameter injection, which creates the impression thatApplicationEvents
is a regular Spring bean eligible for dependency injection. This confuses developers who then attempt to use constructor injection and find it doesn't work.Solution
Reordered and clarified the usage instructions to:
ApplicationEvents
has a per-method lifecycle, this is the most appropriate usage patternApplicationEvents
is not a general Spring bean - explicitly state that it's specifically designed for use within test methodsChanges
ApplicationEvents
is not a general Spring beanThis helps prevent the confusion described in the linked German documentation where developers were puzzled by the inability to use constructor injection.
Closes gh-35297