Brian Clozel
f7a6a7b814
Allow ReflectionHints to register hints on interface hierarchies
...
This commit promotes a previously private method in
`BeanRegistrationsAotContribution` to a top-level method in
`ReflectionHints`.
This helps to register hints on all interfaces implemented in the class
hierarchy of the given type.
Closes gh-32824
2024-05-14 17:54:12 +02:00
Sam Brannen
f629fc9dc5
Polish Javadoc for SmartInstantiationAwareBeanPostProcessor
2024-05-11 16:13:26 +02:00
Sébastien Deleuze
7985ab33f4
Throw an exception for suspending factory methods
...
Suspending factory methods are not supported, and can
have side effects, so it is better to fail explicitly
for such use case.
Closes gh-32719
2024-05-10 11:56:50 +02:00
Stéphane Nicoll
2d942a6e91
Merge branch '6.1.x'
2024-05-08 10:30:19 +02:00
Stéphane Nicoll
5b1278d03c
Refine exception message to include bean name
...
Closes gh-32775
2024-05-08 10:27:34 +02:00
Juergen Hoeller
69eaf8f828
Merge branch '6.1.x'
2024-05-01 18:07:13 +02:00
Juergen Hoeller
25cedcfb99
Consistently propagate ApplicationStartup to BeanFactory
...
Closes gh-32747
2024-05-01 18:06:27 +02:00
Juergen Hoeller
f1a1190700
Merge branch '6.1.x'
...
# Conflicts:
# framework-docs/modules/ROOT/pages/data-access/transaction/declarative/annotations.adoc
2024-04-30 15:47:48 +02:00
Juergen Hoeller
cbda46984c
Polishing
2024-04-30 15:46:28 +02:00
Juergen Hoeller
dfc053ad65
Merge branch '6.1.x'
...
# Conflicts:
# framework-platform/framework-platform.gradle
2024-04-29 18:05:40 +02:00
Juergen Hoeller
3cf2cd70ab
Polishing
2024-04-29 18:02:44 +02:00
Juergen Hoeller
0ac04a7f86
Include original exception message in dependency initialization exception
...
Closes gh-32470
2024-04-29 18:02:39 +02:00
Juergen Hoeller
0402ea13c0
Merge branch '6.1.x'
2024-04-24 13:42:43 +02:00
Juergen Hoeller
387e34d881
Wrap depends-on exception for specifically requested top-level bean
...
Closes gh-32470
2024-04-24 13:41:48 +02:00
Stéphane Nicoll
8124491249
Merge branch '6.1.x'
2024-04-22 17:01:04 +02:00
Stéphane Nicoll
c99e7f8616
Ignore InstanceSupplier for getBean with arguments
...
Previously, a BeanDefinition that has an instance supplier would be
used irrespective of custom arguments being provided. This commit only
applies the instance supplier if no arguments are provided. With
custom arguments, the regular lookup takes place based on the
information provided in the bean factory.
Closes gh-32657
2024-04-22 16:59:31 +02:00
Stéphane Nicoll
c21090ad31
Merge branch '6.1.x'
2024-04-22 15:16:50 +02:00
Stéphane Nicoll
8a8c8fe00e
Detect target of factory method with AOT
...
Previously, if a factory method is defined on a parent, the generated
code would blindly use the method's declaring class for both the target
of the generated code, and the signature of the method.
This commit improves the resolution by considering the factory metadata
in the BeanDefinition.
Closes gh-32609
2024-04-22 15:13:56 +02:00
Juergen Hoeller
e42c5ca52b
Merge branch '6.1.x'
2024-04-18 12:20:14 +02:00
Juergen Hoeller
0e0397a385
Polishing
2024-04-18 12:18:18 +02:00
Sam Brannen
69cb2a347a
Update copyright date
...
See gh-32647
2024-04-16 15:11:12 +02:00
janghs
0d4ef4eafe
Omit empty resource description in DeprecatedBeanWarner's log message
...
Closes gh-32647
2024-04-16 15:07:18 +02:00
Juergen Hoeller
4eb93da31d
Merge branch '6.1.x'
...
# Conflicts:
# spring-beans/src/main/java/org/springframework/beans/factory/support/GenericTypeAwareAutowireCandidateResolver.java
2024-04-08 22:41:02 +02:00
Juergen Hoeller
f2889b1b43
Consistent support for generic FactoryBean type matching
...
Closes gh-32590
See gh-32489
2024-04-08 22:39:29 +02:00
Juergen Hoeller
13df59cef4
Merge branch '6.1.x'
2024-04-08 09:52:42 +02:00
Juergen Hoeller
22328905da
Do not extract FactoryBean generic in case of targetType mismatch
...
Closes gh-32489
2024-04-08 09:51:59 +02:00
Sébastien Deleuze
0c42874629
Merge branch '6.1.x'
2024-04-05 14:33:20 +02:00
Sébastien Deleuze
4a7c24d90f
Refine null-safety
...
See gh-32475
2024-04-05 14:30:50 +02:00
Stéphane Nicoll
7a74e45946
Make use of bean definition overriding more visible
...
This commit makes the use of bean definition overriding more visible and
prepare for a deprecation of the feature in the next major release.
As of this commit, use of bean definition overriding logs at INFO level.
The previous log level can be restored by setting the
allowBeanDefinitionOverriding flag explicitly on the BeanFactory (or
via the related ApplicationContext).
A number of tests that are using bean overriding on purpose have been
updated to set this flag, which will make them easier to find once we
actually deprecate the feature.
Closes gh-31288
2024-04-02 14:05:12 +02:00
Sébastien Deleuze
5b660da52d
Perform NullAway build-time checks in more modules
...
This commit enables null-safety build-time checks in:
- spring-jdbc
- spring-r2dbc
- spring-orm
- spring-beans
- spring-aop
See gh-32475
2024-03-26 09:59:30 +01:00
Sébastien Deleuze
3b4f8dbb8e
Merge branch '6.1.x'
2024-03-26 09:47:09 +01:00
Sébastien Deleuze
1b563f8ba4
Refine null-safety in more modules
...
This commit refines the null-safety in:
- spring-jdbc
- spring-r2dbc
- spring-orm
- spring-beans
- spring-aop
See gh-32475
2024-03-26 09:46:34 +01:00
Felix
05b15812bb
Apply instanceof pattern matching in RootBeanDefinition
...
Closes gh-32520
2024-03-23 09:09:25 +01:00
Stéphane Nicoll
cf4ac96688
Merge branch '6.1.x'
2024-03-22 16:33:17 +01:00
Juergen Hoeller
e58ea0d945
Merge branch '6.1.x'
...
# Conflicts:
# spring-core/src/main/java/org/springframework/core/CoroutinesUtils.java
2024-03-19 10:06:48 +01:00
Juergen Hoeller
c531a8a705
Nullability refinements and related polishing
...
See gh-32475
2024-03-19 09:58:44 +01:00
Sam Brannen
e1b1435a00
Stop referring to JDK 1.5 plus polishing
2024-03-14 16:00:51 +01:00
Sam Brannen
04e69bdb26
Polish contribution
...
Closes gh-32412
2024-03-11 17:04:53 +01:00
Mikaël Francoeur
3e48031601
Reject null return value from MethodReplacer for primitive return type
...
This commit throws an exception instead of silently converting a null
return value from a MethodReplacer to a primitive 0/false value.
See gh-32412
2024-03-11 17:04:53 +01:00
Sam Brannen
f285971cb3
Polishing
2024-03-11 17:04:53 +01:00
Stéphane Nicoll
e53ed3e3c6
Merge branch '6.1.x'
2024-03-09 16:03:04 +01:00
Stéphane Nicoll
4983a802a7
Polish "Fix Javadoc"
...
See gh-32403
2024-03-09 16:02:01 +01:00
Maksim Sasnouski
abdccffa39
Fix Javadoc
...
This commit fixes various Javadoc issues across the code base.
See gh-32403
2024-03-09 16:02:00 +01:00
Sam Brannen
20be9e150c
Polishing
2024-03-09 14:28:01 +01:00
Juergen Hoeller
fad544e077
Merge branch '6.1.x'
...
# Conflicts:
# spring-core/src/main/java/org/springframework/core/io/support/PathMatchingResourcePatternResolver.java
2024-03-08 19:51:05 +01:00
Juergen Hoeller
c1287d48e2
Polishing
2024-03-08 19:31:01 +01:00
Sam Brannen
ae6c64abc5
Fix Javadoc errors
2024-03-08 11:59:53 +01:00
Juergen Hoeller
c9e85ec297
Introduce callback for singleton availability
...
Closes gh-21362
2024-03-07 09:57:29 +01:00
Juergen Hoeller
14a461e795
Consider type-level qualifier annotations for transaction manager selection
...
Closes gh-24291
2024-03-06 13:36:33 +01:00
Juergen Hoeller
b5ca646431
Leniently tolerate late bean retrieval during destroySingletons()
...
Closes gh-22526
Closes gh-29730
2024-03-04 17:21:02 +01:00
Yanming Zhou
246ebd24bf
Add missing method BeanDefinitionBuilder.setFallback()
2024-02-29 13:34:55 +01:00
Sébastien Deleuze
7c5bcbcba4
Merge branch '6.1.x'
2024-02-28 17:24:08 +01:00
Sébastien Deleuze
45c21042f6
Optimize Kotlin inline class checks
...
This commit fixes a performance regression caused by gh-31698,
and more specifically by KClass#isValue invocations which are slow since
they load the whole module to find the class to get the descriptor.
After discussing with the Kotlin team, it has been decided that only
checking for the presence of `@JvmInline` annotation is enough for
Spring use case.
As a consequence, this commit introduces a new
KotlinDetector#isInlineClass method that performs such check, and
BeanUtils, CoroutinesUtils and WebMVC/WebFlux InvocableHandlerMethod
have been refined to leverage it.
Closes gh-32334
2024-02-28 17:18:57 +01:00
Juergen Hoeller
aeb77cf4e1
Restore correct threadWithLock check without isInfoEnabled()
...
See gh-23501
2024-02-28 11:47:39 +01:00
Juergen Hoeller
17b2087198
Introduce background bootstrapping for individual singleton beans
...
Closes gh-13410
Closes gh-19487
See gh-23501
2024-02-27 22:33:18 +01:00
Juergen Hoeller
4d206f79d0
Merge branch '6.1.x'
...
# Conflicts:
# spring-jms/src/main/java/org/springframework/jms/listener/DefaultMessageListenerContainer.java
2024-02-26 13:42:00 +01:00
Juergen Hoeller
479879c53a
Polishing
2024-02-26 13:40:21 +01:00
Juergen Hoeller
2e57603310
Try type conversion for unique fallback write method as well
...
Closes gh-32329
See gh-32159
2024-02-26 13:40:05 +01:00
Juergen Hoeller
567547b63c
Skip shortcut resolution for non-standard dependency descriptors
...
Closes gh-32326
See gh-28122
2024-02-24 18:05:23 +01:00
Juergen Hoeller
58b8330e8d
Consistent documentation of defaults and related methods
...
See gh-32308
2024-02-23 14:41:37 +01:00
Sam Brannen
b0d08fe2d4
Spring cleaning: avoid deprecation warnings
2024-02-23 12:38:40 +01:00
Sam Brannen
122372c580
Spring cleaning: update copyright headers
2024-02-23 12:21:22 +01:00
Sam Brannen
4339c8eac2
Spring cleaning: use diamond operator
2024-02-23 12:20:11 +01:00
Juergen Hoeller
3ddc512108
Add missing @Override annotations
2024-02-22 11:21:51 +01:00
Yanming Zhou
76eb5b8c19
Replace redundant javadoc with {@inheritDoc} for AbstractBeanDefinition
2024-02-22 10:59:35 +01:00
Juergen Hoeller
491ebb4ec4
Merge branch '6.1.x'
...
# Conflicts:
# spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClass.java
2024-02-21 23:01:09 +01:00
Juergen Hoeller
41433d445e
Polishing
2024-02-21 22:58:42 +01:00
Juergen Hoeller
7ffeb59b40
Polishing
2024-02-21 22:45:39 +01:00
Sam Brannen
bfed6a3bc5
Clean up warnings in Gradle build
2024-02-21 16:22:38 +01:00
Sam Brannen
b9c304b890
Polish contribution
...
See gh-32291
2024-02-21 16:19:53 +01:00
Patrick Strawderman
e1a32d4ba9
Avoid resizing of fixed-size HashSet/LinkedHashSet variants
...
Add helpers to CollectionUtils for building HashSets and LinkedHashSets
that can hold an expected number of elements without needing to
resize/rehash.
Closes gh-32291
2024-02-21 16:19:53 +01:00
Sam Brannen
3fb170058f
Polish contribution
...
See gh-32294
2024-02-21 14:09:09 +01:00
Patrick Strawderman
f9fe8efb2e
Use ConcurrentHashMap.newKeySet
...
In places where a ConcurrentHashMap was used as a set by wrapping it
with Collections.newSetFromMap, switch to just using the set returned
by ConcurrentHashMap.newKeySet directly.
Closes gh-32294
2024-02-21 14:08:38 +01:00
Juergen Hoeller
889c4e0ff5
Reject multiple primary candidates in ancestor factory as well
...
Closes gh-26612
2024-02-20 16:24:03 +01:00
Juergen Hoeller
93f0ec2fa1
Polishing
2024-02-20 15:42:15 +01:00
Juergen Hoeller
63ca8d5d17
Consider defaultCandidate flag in case of no annotations as well
...
See gh-26528
2024-02-20 15:30:38 +01:00
Juergen Hoeller
bc01e3116f
Ignore fallback bean for shortcut resolution
...
See gh-26241
See gh-28122
2024-02-20 13:51:37 +01:00
Juergen Hoeller
480051a21c
Introduce fallback flag and annotation (as companion to primary)
...
Closes gh-26241
2024-02-20 13:37:41 +01:00
Juergen Hoeller
a8fb16b47c
Introduce defaultCandidate flag (for plain type vs. qualified match)
...
Closes gh-26528
2024-02-20 12:00:47 +01:00
Juergen Hoeller
a001319f1f
Add additional shortcut for qualifier value matching target bean name
...
Closes gh-17677
See gh-28122
2024-02-19 22:39:37 +01:00
Juergen Hoeller
4a02893c31
Avoid early singleton inference outside of original creation thread
...
See gh-23501
2024-02-19 17:44:30 +01:00
Juergen Hoeller
902e5707a8
Revise singleton registry for lenient locking (fallback instead of deadlock)
...
Closes gh-23501
2024-02-19 15:49:33 +01:00
Juergen Hoeller
c6146ea2db
Introduce shortcut for declared dependency name matching target bean name
...
Closes gh-28122
2024-02-16 21:28:04 +01:00
Sam Brannen
71dfebbfe5
Polishing
2024-02-16 16:45:18 +01:00
Sam Brannen
ea4e7df9ca
Consistently declare ignoreUnresolvablePlaceholders as last argument
2024-02-16 15:00:32 +01:00
Sam Brannen
7c07c43201
Polishing
2024-02-16 15:00:06 +01:00
Stéphane Nicoll
bcf235cc66
Merge branch '6.1.x'
2024-02-16 08:36:26 +01:00
Stéphane Nicoll
6b8105aef2
Update copyright year of changed files
...
See gh-32281
2024-02-16 08:33:17 +01:00
Patrick Strawderman
481283d2f1
Use Spliterator of underlying collection
...
Delegate to the spliterator method of the underlying collection in
MutablePropertyValues and MutablePropertySources. In both cases, those
collection types have specialized Spliterator implementations.
Delegating to these Spliterators also means the characteristics of the
Spliterator are properly set.
See gh-32281
2024-02-16 08:32:41 +01:00
Juergen Hoeller
7e67da8a26
Support for matching partial generics
...
Closes gh-20727
2024-02-15 16:51:09 +01:00
Stéphane Nicoll
e3aa5b6b11
Use new implementation in PropertyPlaceholderHelper
...
This commit removes the previous implementation in favor of the new
PlaceholderParser. The only noticeable side effect is that the exception
is no longer an IllegalArgumentException, but rather the dedicated
PlaceholderResolutionException.
See gh-9628
2024-02-15 15:27:13 +01:00
Sébastien Deleuze
cc6dd19324
Polishing
2024-02-13 14:29:18 +01:00
Yanming Zhou
615973cce4
Fix assertion in BeanWrapperAutoGrowingTests
...
See gh-32176
2024-02-01 09:34:32 +01:00
Juergen Hoeller
00577ed80a
Polishing
2024-01-31 17:12:20 +01:00
Juergen Hoeller
9b2b485444
Disabled test for auto-growing nested map values
...
See gh-32154
2024-01-31 17:12:12 +01:00
Juergen Hoeller
af5acb6d34
Avoid pre-conversion attempt in case of overloaded write methods
...
Closes gh-32159
See gh-31872
2024-01-30 21:57:14 +01:00
Sam Brannen
db535863dd
Consistently use class literals for primitive types
...
To improve consistency and avoid confusion regarding primitive types
and their wrapper types, this commit ensures that we always use class
literals for primitive types.
For example, instead of using the `Void.TYPE` constant, we now
consistently use `void.class`.
2024-01-30 15:26:12 +01:00
Juergen Hoeller
c5a75219ce
Compare qualifier value arrays with equality semantics
...
Closes gh-32106
2024-01-24 22:30:28 +01:00
Stéphane Nicoll
f5b0d9509d
Polish
2024-01-17 18:41:15 +01:00
Stéphane Nicoll
0c42965fc3
Polish
2024-01-15 11:17:19 +01:00