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
Stephane Nicoll
8221c9abc5
Support for nested path using field access
...
This commit adds a nested path support for DirectFieldAccessor that is
similar to what BeanWrapper provides. It is now possible to use
expressions such as "person.address.city.name" to access the name of
the city that a given person lives in using fields to traverse the
graph.
DirectFieldAccessor also now supports an auto-grow option to create
a default instance for a "null" intermediate path. This option is
false by default and leads to a NullValueInNestedPathException in such
a case.
This commit also harmonizes part of the tests suite so that core tests
are shared between BeanWrapperImpl and DirectFieldAccessor.
Note that map and list access is not implemented as part of this
commit.
Issue: SPR-9705
2014-06-26 19:22:02 +02:00
Juergen Hoeller
bc1f19ce18
Defensively check javaUtilOptionalEmpty
...
Issue: SPR-11888
2014-06-19 21:14:43 +02:00
Rossen Stoyanchev
0dc6082b01
Support java.util.Optional for @MVC named value args
...
After this change, java.util.Optional is supported with @RequestParam,
@RequestHeader, and @MatrixVariable arguments in Java 8. When Optional
is used the required flag is effectively ignored.
Issue: SPR-11829
2014-06-16 14:16:56 -04:00
Juergen Hoeller
ea346d59b3
Polishing
2014-06-07 00:25:06 +02:00
Juergen Hoeller
85b2c7d116
AbstractAutowireCapableBeanFactory's getTypeForFactoryBean considers FactoryBean<Object> declarations as non-indicative (just like raw declarations)
...
Issue: SPR-11842
2014-06-06 18:43:29 +02:00
Juergen Hoeller
5cb3f8eada
Support for java.util.Optional within ObjectFactory/Provider
...
Includes support for arbitrary deep nesting levels in DependencyDescriptor's getDependencyType() and MethodParameter's getNestedParameterType().
Issue: SPR-11833
2014-06-06 15:29:50 +02:00
Juergen Hoeller
7d03daf8cb
Support for Java 8's java.util.Optional at injection points
...
Issue: SPR-11833
2014-06-06 14:41:01 +02:00
Juergen Hoeller
f7b465390c
Moved @Uses annotations to org.springframework.lang; fixed Base64Utils to declare Java 8, and fixed PathResource's declaration to refer to Java 7.
...
Issue: SPR-11604
2014-06-04 21:34:23 +02:00
Alex Yursha
8b8afe3def
Fix a typo
2014-06-04 21:16:17 +02:00
Stephane Nicoll
001d0e734c
Support for @Order at the bean declaration level
...
This commit introduces OrderProvider and OrderProviderComparator, two
interfaces designed to externalize how a collection of element is sorted
according to their order value.
FactoryAwareOrderProvider is an OrderProvider implementation that knows
about the objects to order and the corresponding BeanFactory instance.
This allows to retrieve additional metadata about the actual instances
to sort, such as its factory method.
A @Bean method can now holds an additional @Order to define the order
value that this bean should have when injected as part of a collection
or array.
Issue: SPR-11310
2014-06-04 21:04:13 +02:00
Juergen Hoeller
551950cdc0
Consistent use of ClassUtils.forName instead of class.getClassLoader().loadClass
...
Issue: SPR-11780
2014-05-15 09:56:11 +02:00
Juergen Hoeller
6c1f8de5fa
Eventual removal of deprecated AbstractBeanConfigurerAspect, BeanReferenceFactoryBean and CommonsLogFactoryBean
2014-05-08 16:24:22 +02:00
Stephane Nicoll
580e52372f
Add support of YAML
...
This commit migrates the YAML support available in Spring Boot to
the core framework. YAML documents can be loaded either as a
properties object or as a map.
Issue: SPR-9897
2014-05-08 12:02:20 +02:00
Juergen Hoeller
a653c06711
Fixed invalid code tag in javadoc
...
(cherry picked from commit a139670 )
2014-05-01 00:53:10 +02:00