Juergen Hoeller
df977a2fd2
Nullability refinements and related polishing
2021-02-14 17:57:32 +01:00
Juergen Hoeller
99a1388bbd
Re-resolve cached arguments in case of NoSuchBeanDefinitionException
...
Closes gh-26517
2021-02-14 17:57:22 +01:00
Juergen Hoeller
809813dd52
Preserve resolved destroy method name in RootBeanDefinition
...
Closes gh-26498
2021-02-14 17:57:05 +01:00
Juergen Hoeller
d5e5dcb7e1
Consider non-initialized holders as equal to empty holders
...
Closes gh-26433
2021-02-14 17:56:52 +01:00
Juergen Hoeller
defc2466b0
Fail early FactoryBean instantiation for LinkageError
...
Closes gh-26425
2021-02-14 17:56:38 +01:00
Sam Brannen
667256adf9
Ignore generics when Proxy is supplied to BeanUtils.copyProperties()
...
gh-24281 introduced support to honor generic type information in
BeanUtils.copyProperties(), but that introduced a regression.
Specifically, if the supplied source or target object lacked generic
type information for the return type of the read-method or the
parameter type of the write-method for a given property, respectively,
the two properties would be considered a mismatch and ignored. This can
occur if the source or target object is a java.lang.reflect.Proxy since
the dynamically generated class for the proxy loses the generic type
information from interfaces that the proxy implements.
This commit fixes this regression by ignoring generic type information
if either the source or target property is lacking generic type
information.
Closes gh-26531
2021-02-11 18:18:57 +01:00
Brian Clozel
58e9b187fe
Enforce standard Java types in YamlProcessor
...
`spring-beans` ships a `YamlProcessor` that's used as a base class by
`YamlMapFactoryBean` and `YamlPropertiesFactoryBean`. These
implementations have a clear use case: mapping application-internal Yaml
documents for configuration or infrastructure purposes.
Since this use case rarely requires extended types support from the
underlying library, and since we're offering ways to list custom types
(since #25152 ), we'll restrict to java standard types only by default.
This simplifies the setup and focuses the abstract class on the core
use cases.
Closes gh-26530
2021-02-09 15:05:53 +01:00
heqiang
bd8e682c51
Simplify BeanUtils.findPrimaryConstructor()
...
Closes gh-26519
2021-02-08 13:45:40 +01:00
Sam Brannen
872255a591
Fix ConcurrentBeanFactoryBenchmark
2021-01-12 10:59:57 +01:00
Juergen Hoeller
00b56c026a
Consistent handling of NullBean instances in resolveNamedBean
...
Closes gh-26271
2020-12-16 22:27:41 +01:00
Juergen Hoeller
2a47751fcd
Defensively handle loadClass null result in BeanUtils.findEditorByConvention
...
Closes gh-26252
2020-12-10 16:24:32 +01:00
Juergen Hoeller
622d0831a3
Polishing
2020-11-27 21:46:45 +01:00
Juergen Hoeller
56dbe06d9b
Register @Bean definitions as dependent on containing configuration class
...
Closes gh-26167
2020-11-27 17:00:16 +01:00
Sam Brannen
bd4e915abf
Assert same instance returned for cached merged BeanDefinition
2020-11-12 14:57:05 +01:00
fengyuanwei
6eec1acdac
Make tests meaningful in DefaultListableBeanFactoryTests
2020-11-12 13:50:30 +01:00
izeye
bc32d513d9
Polish Javadoc for InjectionMetadata.forElements()
2020-11-12 13:50:00 +01:00
Сергей Цыпанов
e1f51b4bf8
Avoid multiple volatile reads/writes in a row where only one is enough
2020-11-05 12:25:24 +01:00
Juergen Hoeller
6d67bdf04f
Polishing
2020-11-04 23:43:43 +01:00
Juergen Hoeller
97c8628bd6
Suppress NotWritablePropertyException in case of ignoreUnknown=true
...
Closes gh-25986
2020-11-04 23:42:37 +01:00
Juergen Hoeller
412aa06d86
Reliably refresh metadata for dynamically changing prototype bean class
...
Closes gh-26019
2020-11-04 16:48:54 +01:00
hzmpay
f781c459b4
Simplify AbstractBeanFactory.registerCustomEditors()
...
This commit avoids an unnecessary non-null check in
registerCustomEditors().
Closes gh-26022
2020-11-03 14:52:23 +01:00
Sam Brannen
705cf09ad7
Merge branch '5.2.x'
2020-10-26 15:05:35 +01:00
Sam Brannen
449377908f
Fix JUnit 4 to AssertJ migration bugs
...
The migration from JUnit 4 assertions to AssertJ assertions resulted in
several unnecessary casts from int to long that actually cause
assertions to pass when they should otherwise fail.
This commit fixes all such bugs for the pattern `.isNotEqualTo((long)`.
2020-10-26 14:53:09 +01:00
Sam Brannen
c524849774
Deleted unused field in DefaultListableBeanFactoryTests
2020-10-23 17:06:26 +02:00
Juergen Hoeller
621295dbd8
Deprecate StringUtils.isEmpty(Object) and replace remaining usage
...
Closes gh-25945
2020-10-21 16:09:26 +02:00
Juergen Hoeller
702a05e926
Merge branch '5.2.x'
2020-10-16 15:33:37 +02:00
Juergen Hoeller
d77ecb26a9
Fail on warnings with compileGroovy (since it compiles Java code as well)
2020-10-16 15:18:48 +02:00
Сергей Цыпанов
8a04910bdd
Drop explicit zeroing at instantiation of Atomic* objects
2020-10-06 15:45:12 +02:00
Brian Clozel
61d893257e
Rewrite "performance" test to JMH benchmarks
...
This commit rewrites the remaining "fastEnough" performance tests into
proper JMH benchmarks.
See gh-24830
2020-09-25 13:43:38 +02:00
Juergen Hoeller
6c631e3d5c
Merge branch '5.2.x'
...
# Conflicts:
# spring-messaging/src/main/java/org/springframework/messaging/converter/MappingJackson2MessageConverter.java
2020-09-25 11:36:18 +02:00
Juergen Hoeller
21cb9e8bff
Translate NullBean result to null for lookup method with bean name
...
Closes gh-25806
2020-09-25 11:24:50 +02:00
Juergen Hoeller
d5fed34642
Merge branch '5.2.x'
2020-09-15 10:09:18 +02:00
Juergen Hoeller
f010368a66
Polishing
2020-09-15 10:08:01 +02:00
Juergen Hoeller
e20bff9c64
Consistent data class constructor resolution with clear error message
...
MVC data class processor constructs target instance even in case of binding failure, as long as the corresponding method parameter is not marked as optional.
Closes gh-24372
2020-09-01 19:10:32 +02:00
Juergen Hoeller
d62202f464
Polishing
2020-09-01 10:27:36 +02:00
tristeza
61311248bf
change assert in replaceOverride constructor from methodName to methodReplacerBeanName
2020-09-01 10:10:08 +02:00
Juergen Hoeller
8f369ffed5
Merge branch '5.2.x'
...
# Conflicts:
# build.gradle
2020-08-31 18:07:04 +02:00
Juergen Hoeller
d8c420ab75
Avoid full singleton lock for getSingleton(beanName, false)
...
Closes gh-25667
2020-08-31 18:00:51 +02:00
Сергей Цыпанов
1f3e52d932
gh-25650 Replace remaining usage of LinkedList with ArrayList in tests
2020-08-31 14:33:14 +02:00
Juergen Hoeller
c4f4fbc003
Polishing
2020-08-28 20:14:24 +02:00
Juergen Hoeller
bb9e79daa7
Polishing
2020-08-28 19:58:56 +02:00
Juergen Hoeller
d37eaa5941
Introduce DataClassRowMapper with record-style constructor binding support
...
Closes gh-24695
2020-08-28 18:52:35 +02:00
Juergen Hoeller
d4192b9d35
Expose record-style accessor methods for instance fields as bean properties
...
Closes gh-24391
2020-08-28 18:51:27 +02:00
Juergen Hoeller
0f2cc53be7
Merge branch '5.2.x'
...
# Conflicts:
# build.gradle
2020-08-27 17:32:20 +02:00
Juergen Hoeller
71e70aed14
Polishing
2020-08-27 17:13:33 +02:00
Juergen Hoeller
2080878d82
Merge branch '5.2.x'
...
# Conflicts:
# spring-beans/src/main/java/org/springframework/beans/factory/parsing/ParseState.java
2020-08-27 14:40:54 +02:00
Juergen Hoeller
a8b295c516
Consistent javadoc for ParseState and its entry classes
2020-08-27 14:37:42 +02:00
Juergen Hoeller
cf2e0c7959
Selected use of ArrayList instead of LinkedList in common places
...
See gh-25652
2020-08-27 14:14:44 +02:00
Juergen Hoeller
589060d10f
Avoid LinkedList performance issues through use of ArrayDeque
...
Closes gh-25652
2020-08-27 14:14:08 +02:00
Juergen Hoeller
874574513c
Replace remaining usage of LinkedList with ArrayList/ArrayDeque
...
Closes gh-25650
2020-08-26 18:32:08 +02:00