Juergen Hoeller
9999414b3b
Merge branch '5.2.x'
2020-05-18 14:24:33 +02:00
Juergen Hoeller
06cfd80c1c
Avoid full synchronization in refreshable getBeanFactory() implementation
...
Closes gh-25081
2020-05-18 14:22:24 +02:00
Juergen Hoeller
28177ad91b
Explicit notes on access to standard context beans in SpEL expressions
...
Closes gh-25037
2020-05-18 14:19:05 +02:00
Сергей Цыпанов
703d54677e
Avoid unnecessary boxing/unboxing of primitives
...
Closes gh-25080
2020-05-15 18:01:59 +02:00
Rossen Stoyanchev
6403a9f10e
Defer decision on BindingResult type until access
...
Closes gh-24347
2020-05-14 15:42:43 +01:00
Juergen Hoeller
26c205589b
Merge branch '5.2.x'
...
# Conflicts:
# build.gradle
# spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractBeanFactory.java
# spring-context/src/main/java/org/springframework/validation/beanvalidation/MethodValidationInterceptor.java
2020-05-14 00:33:37 +02:00
Juergen Hoeller
fe33822fa7
Polishing
2020-05-14 00:23:20 +02:00
Juergen Hoeller
3c1ee64b7f
Explicit nullability declarations for all AOP Alliance methods
...
Includes consistent declarations in AOP Alliance related Spring AOP code.
Closes gh-24117
2020-05-13 23:33:47 +02:00
Juergen Hoeller
a3c5625d4e
Internal cache of pre-filtered BeanPostProcessors (for faster iteration)
...
Also includes bulk addition in PostProcessorRegistrationDelegate.
Closes gh-24681
Closes gh-24756
2020-05-13 15:53:48 +02:00
Juergen Hoeller
f09093132e
Use proxyBeanMethods=false on remaining internal configuration classes
...
Closes gh-24511
2020-05-12 22:19:44 +02:00
Sam Brannen
273d952ddf
Merge branch '5.2.x'
2020-05-12 18:49:48 +02:00
Andy Wilkinson
1015f79b42
Include timeout unit in shutdown failure logging
...
Closes gh-25058
2020-05-12 18:42:40 +02:00
Qimiao Chen
311b333814
Use computeIfAbsent in ResourceBundleMessageSource
...
This commit optimizes code in ResourceBundleMessageSource
by using computeIfAbsent instead of putIfAbsent.
In addition, the content of some Javadoc has been adjusted.
Closes gh-25054
2020-05-12 14:55:58 +02:00
Yanming Zhou
50a4fdac6e
Use Map::computeIfAbsent to simplify scope implementations
...
Closes gh-25038
2020-05-10 15:41:00 +02:00
Juergen Hoeller
57f1e86a35
AnnotationBeanNameGenerator caches meta-annotations for stereotype check
...
Closes gh-24980
2020-04-27 13:47:58 +02:00
Juergen Hoeller
73fadd8b7c
Polishing
2020-04-27 11:45:41 +02:00
Juergen Hoeller
127e879726
Store source in index-derived ScannedGenericBeanDefinition as well
...
Includes consistent constructor-level storage of derived resource in ScannedGenericBeanDefinition and ConfigurationClassBeanDefinition.
Closes gh-24978
2020-04-27 11:45:08 +02:00
Juergen Hoeller
8595f01e44
Polishing
2020-04-03 21:08:45 +02:00
Sam Brannen
e26764d249
Remove duplicate words in documentation and polish Javadoc
2020-03-31 12:17:58 +02:00
Сергей Цыпанов
e63d1cf12d
Improve usage of ByteArrayOutputStream/ByteArrayInputStream
...
Closes gh-24805
2020-03-30 13:22:21 +02:00
Sam Brannen
ac11acb532
Optimize sorting in PostProcessorRegistrationDelegate
...
Closes gh-24776
2020-03-26 17:32:38 +01:00
Sam Brannen
5c977ce119
Make remaining static fields final in CommonAnnotationBPP
2020-03-25 18:58:56 +01:00
Sam Brannen
6d0bab332c
Polishing
2020-03-25 18:41:21 +01:00
Qimiao Chen
c42a0eeb38
Make resourceAnnotationTypes field final in CommonAnnotationBPP
...
Closes gh-24774
2020-03-25 14:34:29 +01:00
Juergen Hoeller
910d2788e9
Polishing
2020-03-23 18:02:55 +01:00
Juergen Hoeller
2e23cf32ce
Clarify name generation responsibility for PropertySourceFactory impls
...
Closes gh-24757
2020-03-23 18:02:05 +01:00
陈其苗
821a8eebdd
Improve Javadoc in Configuration
2020-03-23 15:42:45 +01:00
Sam Brannen
b069efade4
Polish Javadoc for @ManagedAttribute
...
See gh-24742
2020-03-23 11:34:25 +01:00
Rossen Stoyanchev
1f72ab4816
Add Javadoc to ManagedAttribute
...
Closes: gh-24742
2020-03-20 21:50:52 +00:00
Sam Brannen
e6814f6609
Clean up warnings in Jsr354NumberFormatAnnotationFormatterFactory
2020-03-18 17:04:28 +01:00
Sam Brannen
678b6edad2
Delete unused method in ConfigurationClassParser
2020-03-18 17:01:33 +01:00
Qimiao Chen
c8c1e61c0a
Improve Javadoc in AutoProxyRegistrar
...
Closes gh-24688
Co-authored-by: Sam Brannen <sbrannen@pivotal.io >
2020-03-13 10:01:58 +01:00
Juergen Hoeller
bee63e38c1
Create ScannedGenericBeanDefinitions for index-derived components as well
...
Closes gh-24638
2020-03-11 14:54:16 +01:00
Juergen Hoeller
0e95282153
Polishing
2020-02-24 19:08:23 +01:00
Juergen Hoeller
2afe5802c0
Clarify setCacheMillis/setCacheSeconds vs java.util.ResourceBundle
...
Closes gh-24563
2020-02-24 19:08:13 +01:00
Hyunjin Choi
ede2a1d4b2
Remove unnecessary semicolon in some enum classes
2020-02-24 14:56:12 +01:00
ZhangT
6add7b4dec
Polishing
...
Closes gh-24543
2020-02-17 17:33:39 +01:00
Juergen Hoeller
d1c7083e77
Consistent ROLE_INFRASTRUCTURE declarations for configuration classes
...
Closes gh-24509
2020-02-12 16:49:02 +01:00
Rossen Stoyanchev
0a974511bd
Expose awaitTerminationMillis presion
...
Closes gh-24496
2020-02-11 14:02:50 +00:00
Juergen Hoeller
82adb09490
ImportSelector.getExclusionFilter() naming and javadoc clarification
...
See gh-24175
2020-02-05 18:20:27 +01:00
Juergen Hoeller
d93303c008
ImportSelector.getCandidateFilter() for transitive filtering of classes
...
Closes gh-24175
2020-02-05 12:35:16 +01:00
Qimiao Chen
5aa37ea07b
Let BFAwareGeneratorStrategy extend ClassLoaderAwareGeneratorStrategy
...
This commit updates BeanFactoryAwareGeneratorStrategy to extend
ClassLoaderAwareGeneratorStrategy in order to avoid duplication of the
common generate() implementation.
Closes gh-24396
2020-02-04 14:10:59 +01:00
Juergen Hoeller
4936a637fe
Polishing
2020-01-09 17:03:17 +01:00
Juergen Hoeller
b0e4b7e29c
Re-calculate SimpleKey's hashCode field on deserialization
...
Closes gh-24320
2020-01-09 15:39:04 +01:00
stsypanov
8e5cad2af3
Add fast path for ClassUtils.hasMethod()
2020-01-08 18:52:15 +01:00
Sam Brannen
e3e7d90415
Improve documentation for FullyQualifiedAnnotationBeanNameGenerator
...
See gh-24114
2020-01-08 16:47:39 +01:00
Sam Brannen
b4c91e7dac
Introduce BeanNameGenerator based on fully qualified class name
...
Prior to this commit, Spring offered two top-level implementations of
the BeanNameGenerator strategy: DefaultBeanNameGenerator and
AnnotationBeanNameGenerator. The latter is used as the default bean
name generator for beans picked up via component scanning. In a typical
application, this strategy works well; however, if multiple component
scanned beans have the same simple class name (i.e., identical names
ignoring the package), a BeanDefinitionStoreException is thrown.
To address such naming conflicts, users of Spring have had to implement
a custom BeanNameGenerator based on the fully qualified class name of
such components.
Similar conflicts can arise with components registered via
configuration class imports (i.e., via @Import), and
ConfigurationClassPostProcessor addresses this via an anonymous inner
class that extends AnnotationBeanNameGenerator but falls back to using
the fully qualified class name if an explicit bean name is not provided
via an annotation.
This commit extracts the implementation of
ConfigurationClassPostProcessor's internal BeanNameGenerator into a new
top-level FullyQualifiedAnnotationBeanNameGenerator class that can be
used to disambiguate between same-named components residing in
different packages that are picked up via component scanning. This bean
name generator can be configured via @ComponentScan's nameGenerator
attribute.
Closes gh-24114
2020-01-07 19:39:28 +01:00
Sam Brannen
e1fb4a1966
Polishing
2020-01-07 18:47:54 +01:00
Sam Brannen
59e250c93c
Consistent use of SCOPE_PROTOTYPE and SCOPE_SINGLETON constants
...
Closes gh-19905
2019-11-24 13:49:43 +01:00
Sam Brannen
fd6efb9a65
Polishing
2019-11-19 15:53:20 +01:00