Commit Graph

31986 Commits

Author SHA1 Message Date
Sam Brannen
6a81de95ab Merge branch '6.2.x' 2025-01-15 17:16:51 +01:00
Sam Brannen
9181cce65f Support @⁠MockitoBean at the type level on test classes
Prior to this commit, @⁠MockitoBean could only be declared on fields
within test classes, which prevented developers from being able to
easily reuse mock configuration across a test suite.

With this commit, @⁠MockitoBean is now supported at the type level on
test classes, their superclasses, and interfaces implemented by those
classes. @⁠MockitoBean is also supported on enclosing classes for
@⁠Nested test classes, their superclasses, and interfaces implemented
by those classes, while honoring @⁠NestedTestConfiguration semantics.

In addition, @⁠MockitoBean:

- has a new `types` attribute that can be used to declare the type or
  types to mock when @⁠MockitoBean is declared at the type level

- can be declared as a repeatable annotation at the type level

- can be declared as a meta-annotation on a custom composed annotation
  which can be reused across a test suite (see the @⁠SharedMocks
  example in the reference manual)

To support these new features, this commit also includes the following
changes.

- The `field` property in BeanOverrideHandler is now @⁠Nullable.

- BeanOverrideProcessor has a new `default` createHandlers() method
  which is invoked when a @⁠BeanOverride annotation is found at the
  type level.

- MockitoBeanOverrideProcessor implements the new createHandlers()
  method.

- The internal findHandlers() method in BeanOverrideHandler has been
  completely overhauled.

- The @⁠MockitoBean and @⁠MockitoSpyBean section of the reference
  manual has been completely overhauled.

Closes gh-33925
2025-01-15 17:13:35 +01:00
Sam Brannen
8b6523a35b Cross reference @⁠NestedTestConfiguration for Bean Overrides 2025-01-15 17:13:35 +01:00
Stéphane Nicoll
2c749ebdb7 Merge branch '6.2.x' 2025-01-15 17:08:09 +01:00
Stéphane Nicoll
e7f349328d Merge pull request #34086 from rPraml
* pr/34086:
  Polish "Resolve base type in parameterized type if necessary"
  Resolve base type in parameterized type if necessary

Closes gh-34086
2025-01-15 17:07:58 +01:00
Stéphane Nicoll
fe5f5d53b2 Polish "Resolve base type in parameterized type if necessary"
See gh-34086
2025-01-15 17:06:05 +01:00
Roland Praml
033d277bcf Resolve base type in parameterized type if necessary
See gh-34086
2025-01-15 17:03:20 +01:00
Juergen Hoeller
7e71001896 Merge branch '6.2.x' 2025-01-15 15:03:38 +01:00
Juergen Hoeller
227385083d Restrict lenient nested matching to immediate type variable
Includes fix for matching multiple wildcard bounds properly.

Closes gh-34119
Closes gh-34234
2025-01-15 15:02:46 +01:00
Simon Baslé
caf84ffe7d Revisit HttpHeadersAssert after HttpHeaders API changes
- add various assertions to HttpHeadersAssert
 - improve assertion test coverage
 - remove niche size assertions

Closes gh-34168

Co-authored-by: Stephane Nicoll <stephane.nicoll@broadcom.com>
2025-01-15 11:42:59 +01:00
Stéphane Nicoll
448d6c6ebf Merge branch '6.2.x' 2025-01-15 11:22:23 +01:00
Stéphane Nicoll
d280358e98 Fix typo in HttpHeadersAssert#doesNotContainHeaders
This commit deprecates the existing doesNotContainsHeaders in favor of a
newly introduced method that does not have the typo.

Closes gh-34263
2025-01-15 11:19:00 +01:00
Stéphane Nicoll
05d8604012 Merge branch '6.2.x' 2025-01-14 17:36:58 +01:00
Stéphane Nicoll
e08a7ece61 Merge pull request #34223 from remeio
* pr/34223:
  Polish contribution
  Polish HttpEntityMethodProcessor

Closes gh-34223
2025-01-14 17:36:45 +01:00
Stéphane Nicoll
24fa9ea394 Polish contribution
See gh-34223
2025-01-14 17:30:39 +01:00
Mengqi Xu
4acd9ee69b Polish HttpEntityMethodProcessor
Signed-off-by: Mengqi Xu <2663479778@qq.com>

See gh-34223
2025-01-14 17:28:00 +01:00
Stéphane Nicoll
46327d6e9b Merge branch '6.2.x' 2025-01-14 16:41:19 +01:00
Stéphane Nicoll
cd1aefa5e0 Upgrade to Reactor 2024.0.2
Closes gh-34252
2025-01-14 16:36:43 +01:00
Sébastien Deleuze
19f647ab8c Set -Xjdk-release=17 for Kotlin build
Needed due to https://youtrack.jetbrains.com/issue/KT-49746.

See gh-34220
2025-01-14 12:35:54 +01:00
Sébastien Deleuze
c71bfc7aed Update null-safety documentation
Closes gh-34140
2025-01-14 12:35:53 +01:00
Sébastien Deleuze
2f59701148 Specify generic type nullness in spring-webmvc
See gh-34140
2025-01-14 12:35:02 +01:00
Sébastien Deleuze
69bfb64dfd Specify generic type nullness in spring-webflux
See gh-34140
2025-01-14 12:35:02 +01:00
Sébastien Deleuze
380c9e318c Specify generic type nullness in spring-web
See gh-34140
2025-01-14 12:35:02 +01:00
Sébastien Deleuze
e2216ddc32 Specify generic type nullness in spring-test
See gh-34140
2025-01-14 12:35:02 +01:00
Sébastien Deleuze
5be36ce8ce Specify generic type nullness in spring-r2dbc
See gh-34140
2025-01-14 12:35:02 +01:00
Sébastien Deleuze
2f8ff7eb41 Specify generic type nullness in spring-orm
See gh-34140
2025-01-14 12:35:02 +01:00
Sébastien Deleuze
8b64e2735e Specify generic type nullness in spring-messaging
See gh-34140
2025-01-14 12:35:02 +01:00
Sébastien Deleuze
8299a617b9 Specify generic type nullness in spring-jdbc
See gh-34140
2025-01-14 12:35:02 +01:00
Sébastien Deleuze
4c988146bc Specify generic type nullness in spring-expression
See gh-34140
2025-01-14 12:35:02 +01:00
Sébastien Deleuze
9d9383aaeb Specify generic type nullness in spring-core
Also in spring-core-test.

See gh-34140
2025-01-14 12:35:02 +01:00
Sébastien Deleuze
435cb0c7d6 Specify generic type nullness in spring-context
Also in spring-context-support.

See gh-34140
2025-01-14 12:35:02 +01:00
Sébastien Deleuze
928a3c7184 Specify generic type nullness in spring-beans
See gh-34140
2025-01-14 12:35:01 +01:00
Sébastien Deleuze
f52f83349c Specify generic type nullness in spring-aop
See gh-34140
2025-01-14 12:35:01 +01:00
Sébastien Deleuze
c0039fb624 Enable NullAway JSpecify mode
See gh-34140
2025-01-14 12:26:20 +01:00
Sam Brannen
b9c1aec62f Merge branch '6.2.x' 2025-01-14 11:38:45 +01:00
Sam Brannen
3c3b8c7aac Track only qualifier annotations in BeanOverrideHandler
Closes gh-34260
2025-01-14 11:35:00 +01:00
Sam Brannen
5a68d1f029 Remove @⁠FunctionalInterface declaration from BeanOverrideProcessor
Closes gh-34259
2025-01-14 11:29:45 +01:00
Sam Brannen
ff9b7678a7 Polish Bean Override internals and tests 2025-01-14 11:25:37 +01:00
Brian Clozel
c02251672e Polishing RuntimeHintsPredicates deprecations
This commit also deprecates the types returned by deprecated methods as
they will be removed as well in the future.

See gh-34239
2025-01-14 10:28:39 +01:00
Brian Clozel
9b17928143 Merge branch '6.2.x' 2025-01-13 20:21:40 +01:00
Brian Clozel
799566573a Fix Wrong parentId tracking in JFR application startup
This commit fixes the tracking of the main event parentId for the Java
Flight Recorder implementation variant.

Fixes gh-34128
2025-01-13 19:03:43 +01:00
Juergen Hoeller
ae9abc8545 Merge branch '6.2.x' 2025-01-13 17:49:25 +01:00
Juergen Hoeller
467d5f3ca3 Try late locking for waiting on specific bean to be finished
Closes gh-34186
2025-01-13 17:48:13 +01:00
Brian Clozel
d28c0396c9 Update runtime hints predicates after GraalVM changes
As of gh-33847, method and field introspection is included by default
when a type is registered for reflection.
Many methods in ReflectionHintsPredicates are now mostly useless as their
default behavior checks for introspection.

This commit deprecates those methods and promotes instead invocation
variants. During the upgrade, developers should replace it for an
`onType` check if only reflection is required. If they were checking for
invocation, they should use the new 'onXInvocation` method.

Closes gh-34239
2025-01-13 15:34:34 +01:00
Stéphane Nicoll
6be811119e Merge branch '6.2.x' 2025-01-13 13:58:16 +01:00
Stéphane Nicoll
172c25fb0e Upgrade to Micrometer 1.14.3
Closes gh-34251
2025-01-13 13:54:47 +01:00
Juergen Hoeller
87da67165a Merge branch '6.2.x'
# Conflicts:
#	spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java
2025-01-13 13:06:14 +01:00
Juergen Hoeller
8771b9ea21 Defensively acquire singleton lock for FactoryBean type check
Closes gh-34247
2025-01-13 13:04:42 +01:00
Juergen Hoeller
ff72652890 Defensively check expected type for qualified bean
Closes gh-34187
2025-01-13 13:03:25 +01:00
Stéphane Nicoll
6888137cb6 Merge branch '6.2.x' 2025-01-13 09:12:32 +01:00