Commit Graph

280 Commits

Author SHA1 Message Date
Juergen Hoeller
77a62ec8b8 Polishing 2014-10-20 17:42:18 +02:00
Stephane Nicoll
859e1e8003 Check for duplicate keys in YAML map nodes
Snake YAML allows for duplicate keys in map nodes. See
https://code.google.com/p/snakeyaml/issues/detail?id=199

This commit uses a dedicated Constructor extension that explicitly
checks for such duplicate keys.

Issue: SPR-12318
2014-10-14 15:58:35 +02:00
Juergen Hoeller
9d832816a8 Further locking optimizations for the retrieval of non-singleton beans
Issue: SPR-12250
2014-10-06 17:42:51 +02:00
Juergen Hoeller
f46c706e44 Bean method metadata exposed through AnnotatedBeanDefinition
Issue: SPR-12232
2014-09-26 14:46:09 +02:00
Juergen Hoeller
cfc821d179 DataBinder unwraps Optional objects and allows for proper handling of Optional.empty()
Issue: SPR-12241
2014-09-25 17:00:36 +02:00
Juergen Hoeller
070642c148 Introduced addScope convenience method on CustomScopeConfigurer (for use in WebSocket configuration) 2014-09-25 01:31:33 +02:00
Juergen Hoeller
5ecdd8ca31 Consistent Environment access in XML bean definition parsing code
Issue: SPR-12248
2014-09-25 01:02:40 +02:00
Juergen Hoeller
0934751d7a BeanWrapper supports traversal of nested paths with Java 8 Optional declarations
Issue: SPR-12241
2014-09-24 17:56:24 +02:00
Juergen Hoeller
354c3e03e9 Refined exclusion of bridge methods in annotation post-processors (for Java 8 compatibility)
Issue: SPR-12187
(cherry picked from commit 29abca5)
2014-09-19 00:52:44 +02:00
Juergen Hoeller
f4219ca06b Consistent exclusion of bridge methods in annotation post-processors (for Java 8 compatibility)
Issue: SPR-12187
2014-09-18 23:45:42 +02:00
Juergen Hoeller
0cf472b111 BeanDefinitionParserDelegate does not silently ignore 1.x 'singleton' attribute
Issue: SPR-12167
2014-09-17 13:26:37 +02:00
Juergen Hoeller
80cec011b7 Log warning for single optional constructor when no default constructor to fall back to
Issue: SPR-12161
2014-09-17 13:02:11 +02:00
Juergen Hoeller
d1c720c07b GenericTypeAwarePropertyDescriptor implements equals/hashCode for proper lookups on IBM JVM 6
Issue: SPR-12185
2014-09-17 00:03:30 +02:00
Juergen Hoeller
5cd59d044e GenericTypeAwarePropertyDescriptor implements equals/hashCode for proper lookups on IBM JVM 6
Issue: SPR-12185
2014-09-16 23:40:10 +02:00
Juergen Hoeller
7387475deb Polishing 2014-09-12 23:49:14 +02:00
Juergen Hoeller
c52484ed68 CachedIntrospectionResults uses ConcurrentReferenceHashMap for its type descriptor cache
Issue: SPR-12185
2014-09-12 19:47:52 +02:00
Juergen Hoeller
20c2ba35dc Polishing 2014-09-04 00:55:38 +02:00
Juergen Hoeller
c6d29f1a31 Refactored support for @Order on @Bean methods as well as @Priority handling
Issue: SPR-11310
Issue: SPR-10548
2014-09-04 00:41:13 +02:00
Juergen Hoeller
4432c41dbd AbstractAutowireCapableBeanFactory avoids early FactoryBean instantiation on currently created configuration bean
Issue: SPR-12141
2014-09-03 00:28:05 +02:00
Juergen Hoeller
cfd01ab100 ExtendedBeanInfo uses explicit hashCode calculation (as defensive measure against JDK PropertyDescriptor changes) 2014-09-02 22:15:33 +02:00
Juergen Hoeller
8c9274e017 LazyInitTargetSource works for @Bean targets as well
Issue: SPR-10508
Issue: SPR-8080
2014-09-02 22:13:35 +02:00
Juergen Hoeller
b64f680f19 AbstractAutowireCapableBeanFactory calls postProcessBeforeInstantiation with fully resolved target type
Issue: SPR-12140
Issue: SPR-12142
2014-09-02 22:10:09 +02:00
Juergen Hoeller
60e58a2012 Polishing 2014-08-21 14:29:14 +02:00
Juergen Hoeller
8eac87064d AbstractAutowireCapableBeanFactory avoids synchronization in filterPropertyDescriptorsForDependencyCheck
Issue: SPR-12106
2014-08-21 14:26:17 +02:00
Juergen Hoeller
662d8aa9f1 util:properties supports multiple resource locations and ignore-resource-not-found
Issue: SPR-10614
2014-08-20 16:31:54 +02:00
Juergen Hoeller
e48c315ad1 DefaultSingletonBeanRegistry performs non-synchronized checks for existing entries in dependentBeanMap and containedBeanMap
Also adding alias resolution to isDependent's algorithm (for circular dependency detection).

Issue: SPR-8834
Issue: SPR-7966
2014-08-20 12:02:16 +02:00
Juergen Hoeller
9d3d6d5919 DefaultListableBeanFactory defensively handles BeanDefinition access in getBean(Class)
Issue: SPR-10542
2014-08-20 10:48:35 +02:00
Juergen Hoeller
af6ef5f74c Use ConcurrentMap declarations when calling putIfAbsent (for compatibility with JDK 6 and 7)
Issue: SPR-12102
2014-08-19 23:28:42 +02:00
Juergen Hoeller
781a6d289e CachedIntrospectionResults uses putIfAbsent where possible (for minimal write locking)
Issue: SPR-12102
2014-08-19 22:50:54 +02:00
Juergen Hoeller
b3add794d7 Polishing 2014-08-15 00:55:40 +02:00
Juergen Hoeller
69587f3fa4 Polishing 2014-08-14 23:49:29 +02:00
Juergen Hoeller
eb0ab8431b Lookup methods can support arguments, find a target bean based on the return type, and be identified by an @Lookup annotation
Issue: SPR-7431
Issue: SPR-5192
2014-08-14 23:49:05 +02:00
Juergen Hoeller
fd5dbddac4 BeanFactory supports bean creation arguments for by-type lookup as well
Issue: SPR-11235
2014-08-12 22:07:12 +02:00
Juergen Hoeller
ad475ffadf Consistent vararg declarations for String array setters 2014-08-08 17:17:09 +02:00
Juergen Hoeller
fe05e7e5b3 Self reference detection defensively handles null bean names
Issue: SPR-12018
2014-07-24 12:56:10 +02:00
Juergen Hoeller
496492b2d8 Autowiring rejects self references to a factory method on the same bean as well
Issue: SPR-12018
2014-07-24 12:13:25 +02:00
Stephane Nicoll
e849bc3e90 Fix potential NPE
This commit fixes a potential NPE when determining the priority of a
bean instance in case multiple candidates exist and no bean was marked
as @Primary

Issue: SPR-12024
2014-07-23 18:51:09 +02:00
Juergen Hoeller
9d6c38bd54 Consistent bracket alignment 2014-07-18 17:21:58 +02:00
Juergen Hoeller
2665d56209 Polishing 2014-07-15 15:13:35 +02:00
Juergen Hoeller
a4968b9015 DefaultListableBeanFactory's registerBeanDefinition only calls resetBeanDefinition in case of pre-existing bean definition or pre-existing singleton instance
Issue: SPR-8318
2014-07-15 15:05:13 +02:00
Juergen Hoeller
2bd6e24b65 MBeanExporter implements newly introduced SmartInitializingSingleton callback interface
Issue: SPR-8045
2014-07-10 15:48:36 +02:00
Juergen Hoeller
a6a86b8025 DefaultBeanDefinitionDocumentReader evaluates profile attribute only in beans namespace
Issue: SPR-11975
2014-07-09 21:17:43 +02:00
Stephane Nicoll
b78b2e9a03 Fix priority semantic
Commit 5fe8f52 introduced a support for @Priority as an alternative to
@Primary but it broke the semantic of the priority value. This commit
fixes this inconsistency.

As for @Order, the lowest value means the highest priority so if
several beans are candidates for injection, the one having the lowest
value will be used.

Issue: SPR-10548
2014-07-08 10:26:03 +02:00
Juergen Hoeller
01264dc673 Polishing 2014-07-08 00:59:31 +02:00
Juergen Hoeller
6c41cc354c ConstructorResolver's exception message on null factory-bean hints at potential BeanPostProcessor involvement
Issue: SPR-11951
2014-07-04 22:30:19 +02:00
Juergen Hoeller
d870b382da Defensively check for pre-resolved FactoryBean.getObject() results in circular reference scenarios
Issue: SPR-11937
2014-07-01 23:50:17 +02:00
Juergen Hoeller
b7984f21d8 Polishing 2014-07-01 20:30:31 +02:00
Juergen Hoeller
f8b6114440 BeanFactoryAnnotationUtils consistently applies bean name fallback when no BeanDefinition present
Issue: SPR-11915
2014-07-01 16:29:40 +02:00
Juergen Hoeller
974bd43f28 AbstractAutowireCapableBeanFactory's createBean/autowireBean/configureBean use CacheUtils.isCacheSafe to re-enable PropertyDescriptor caching
Issue: SPR-11875
2014-06-30 00:58:44 +02:00
Juergen Hoeller
fab67b0595 CachedIntrospectionResults and co consistently avoid synchronization (through use of ConcurrentReferenceHashMap)
As a side effect, through ConcurrentReferenceHashMap, we're using soft references for non-cache-safe bean classes.

Issue: SPR-11867
2014-06-30 00:16:15 +02:00