Commit Graph

460 Commits

Author SHA1 Message Date
Juergen Hoeller bb3ff25cad Polishing 2015-12-21 23:07:32 +01:00
Juergen Hoeller b28310d0b9 Polishing 2015-12-21 18:42:49 +01:00
Juergen Hoeller cad2ce0ac2 ConstructorResolver always uses arguments when completely provided
Issue: SPR-13808
2015-12-21 15:11:40 +01:00
Juergen Hoeller fca5365cf1 Avoid scoped destruction callbacks in case of no post-processor actually applying
Issue: SPR-13744
2015-12-18 16:54:05 +01:00
Juergen Hoeller 967ef73765 Detect @Autowired constructors for configuration classes
Issue: SPR-13471
2015-12-18 15:31:31 +01:00
Stephane Nicoll 9e7c791a0f Automatically autowire a bean with one constructor
Previously, if a managed bean had only one non-default constructor, we
should still annotate it with `@Autowired` to properly use constructor
injection. Not doing so resulted in an error as the container was
trying to call the default (non-existing) constructor.

This commit updates this behaviour to automatically applyed the
autowiring semantic to any bean that has only one constructor. As
before, if more than one constructor is defined, `@Autowired` must be
specified to teach the container the constructor it has to use.

Issue: SPR-12278
2015-12-18 14:04:18 +01:00
Sam Brannen 5b3edcd9f9 Spring Cleaning in December
- Delete unused imports
- Delete unused code
- Clean up warnings
2015-12-17 20:27:33 +01:00
Stephane Nicoll 752d3c715a Initiate structure for 4.3 XSDs 2015-12-17 15:43:23 +01:00
Juergen Hoeller 11806b9215 Class identity comparisons wherever possible (and further polishing)
Issue: SPR-12926
2015-12-09 12:28:09 +01:00
Juergen Hoeller 08b6daf1eb Polishing 2015-12-03 18:41:03 +01:00
Juergen Hoeller 7589c1f164 Aligned class name quoting with ConversionFailedException 2015-12-01 16:10:11 +01:00
Juergen Hoeller b70af3bf57 Polishing 2015-12-01 14:10:46 +01:00
Juergen Hoeller 998da2f45c Document destruction callback behavior for inner beans in case of scope mismatch
This commit undoes the previous refinement and rather documents the original behavior.

Issue: SPR-13739
2015-11-30 21:57:54 +01:00
Juergen Hoeller 8ed2c470be Avoid instantiation of non-selected beans in BeanFactoryAnnotationUtils.qualifiedBeanOfType
Issue: SPR-13741
2015-11-30 20:13:03 +01:00
Juergen Hoeller 7104076e19 Avoid Scope.registerDestructionCallback for inner beans in case of scope mismatch
This commit refines getMergedBeanDefinition's scope adaptation algorithm for inner beans, never leaving a custom scope within a containing bean of a different scope. The inner bean's scope will either be aligned with the containing bean's scope (matching the effective state) or be switched to prototype in case of an outer singleton (indicating that no singleton state management is desired).

Issue: SPR-13739
2015-11-30 20:10:26 +01:00
Juergen Hoeller 24e4f56d7e Test case for event listener methods on bean with potentially inactive scope
Also taking the opportunity to refine the "No Scope registered" exception message a bit.

Issue: SPR-13681
2015-11-25 16:56:39 +01:00
Juergen Hoeller 20a286b4d6 ASM ClassWriter uses application ClassLoader for its getCommonSuperClass check
Issue: SPR-13695
2015-11-24 17:38:02 +01:00
Juergen Hoeller 98be36a306 Extended default collection size for common per-bean caches
Issue: SPR-13621
2015-11-13 08:31:00 +01:00
Johnny Lim 2defb6555e Fix broken Javadoc related to < and > 2015-11-12 11:22:08 +01:00
Juergen Hoeller 2bf8c0bc42 Polishing 2015-11-10 23:47:46 +01:00
Juergen Hoeller 2ba5cb2734 Polishing 2015-11-05 12:30:29 +01:00
Juergen Hoeller e35855f9b5 Avoid expensive annotation retrieval algorithm if no annotations present in the first place
Issue: SPR-13621
2015-11-05 12:26:54 +01:00
Juergen Hoeller 5386e8a9e9 DefaultListableBeanFactory skips resolvableDependencies check for null value
Issue: SPR-13599
2015-10-26 22:45:36 +01:00
Juergen Hoeller 8b3b8d070e Consistently detect spring-beans.dtd reference in last path segment
Issue: SPR-13549
2015-10-09 22:54:35 +02:00
Stephane Nicoll b7c2881a4f Clarify javadoc
The Javadoc wrongly referred to a behaviour that is not (and should not
be) implemented. List items are split into indexed keys and the
comma-separated value is not retained.

Issues: SPR-13257
2015-10-02 14:17:54 +02:00
Sam Brannen d5ee787e1e Migrate JUnit 3 tests to JUnit 4
This commit migrates all remaining tests from JUnit 3 to JUnit 4, with
the exception of Spring's legacy JUnit 3.8 based testing framework that
is still in use in the spring-orm module.

Issue: SPR-13514
2015-09-27 21:17:51 +02:00
Juergen Hoeller 097bcfb997 DefaultListableBeanFactory switches to thread-safe copying for names collections if necessary
Issue: SPR-13493
Issue: SPR-13123
Issue: SPR-12503
2015-09-25 15:20:40 +02:00
Juergen Hoeller 627393a155 Reverted StrictMapAppenderConstructor constructor back to public
Issue: SPR-13504
2015-09-24 22:51:30 +02:00
Juergen Hoeller 54d3d782a9 Polishing 2015-09-23 22:44:52 +02:00
izeye 1aa77ef817 Add a missing @throws in Javadoc
Closes gh-873
2015-09-15 06:29:50 -04:00
Juergen Hoeller 667fc7e4a9 Polishing 2015-09-04 14:38:47 +02:00
Juergen Hoeller d4a23b81e9 Properties values get properly converted to generic Map types (fixing 4.x regression without use of ConversionService)
Issue: SPR-13256
2015-08-31 17:20:05 +02:00
Juergen Hoeller ff9fb9aa88 BeanWrapperImpl.getPropertyDescriptor allows for nested paths again
Issue: SPR-13403
2015-08-28 11:17:42 +02:00
Juergen Hoeller 74e6213baf Lookup method definitions can be overridden in child beans
Issue: SPR-13388
2015-08-25 17:08:49 +02:00
Juergen Hoeller b198cad58e SimpleAliasRegistry detects circles between non-canonical aliases as well (through hasAlias)
Additionally, as an optimization, we skip the re-registration step for existing aliases now.

Issue: SPR-13390
2015-08-25 17:06:23 +02:00
Juergen Hoeller 05a16a1bfa Avoid ambiguous property warning for methods with multiple parameters
Issue: SPR-13349
2015-08-21 16:55:04 +02:00
Sam Brannen f47bbb0d9e Polish tests 2015-08-12 19:35:45 +02:00
Juergen Hoeller e0f012f32d Removal of redundant JdkVersion checks in the test suite
Issue: SPR-13312
2015-08-12 18:42:36 +02:00
Juergen Hoeller edd6e76b9f Polishing 2015-07-21 22:58:34 +02:00
Juergen Hoeller 2934256257 Polishing 2015-07-15 00:08:11 +02:00
Juergen Hoeller 09eb492079 Merged bean definitions are now cached early and selectively evicted after post-processing and before actual bean creation
Issue: SPR-12236
2015-07-15 00:05:39 +02:00
Stephane Nicoll de6a649071 Polish 2015-07-09 11:29:48 +02:00
Juergen Hoeller 26acb4887d YamlProcessor explicitly closes UnicodeReader
Issue: SPR-13173
2015-06-29 23:47:37 +02:00
Sam Brannen 6c530b7bfb Delete trailing whitespace in XML files 2015-06-19 17:14:10 +02:00
Sam Brannen 32c17bf540 Revise method and parameter names in annotation support
In AnnotatedElementUtils, all methods pertaining to merging annotation
attributes have been renamed to "getMerged*()" and "findMerged*()"
accordingly. Existing methods such as getAnnotationAttributes(..) have
been deprecated in favor of the more descriptive "merged" variants.
This aligns the naming conventions in AnnotatedElementUtils with those
already present in AnnotationReadingVisitorUtils.

The use of "annotationType" as a variable name for the fully qualified
class name of an annotation type has been replaced with
"annotationName" in order to improve the readability and intent of the
code base.

In MetaAnnotationUtils.AnnotationDescriptor, getMergedAnnotation() has
been renamed to synthesizeAnnotation(), and the method is now
overridden in UntypedAnnotationDescriptor to always throw an
UnsupportedOperationException in order to avoid potential run-time
ClassCastExceptions.

Issue: SPR-11511
2015-06-14 00:34:40 +02:00
Sam Brannen d49bf01c4a Polish Javadoc for AbstractBeanDefinition 2015-06-13 16:08:29 +02:00
Juergen Hoeller 4eea675c15 Stronger warning about lookup methods not working with @Bean
Issue: SPR-13108
2015-06-11 09:58:10 +02:00
Sam Brannen 9afcd17c71 Introduce getAnnotationAttributes(..,Class) in AnnoElUtils 2015-05-29 21:36:00 +02:00
Stephane Nicoll 2dc674f356 Restore AbstractPropertyAccessor
Commit 3d86f15 added a lot of new feature in AbstractPropertyAccessor
shared by both DirectFieldAccessor and BeanWrapperImpl. This makes this
abstract class harder to implement for others having simpler use cases.

It turns that Spring Data has such use case; this commit split these new
features in a dedicated new base class, leaving AbstractPropertyAccessor
untouched.

Issue: SPR-12805
2015-05-22 10:33:28 +02:00
Stephane Nicoll a87d5f8a63 Make PropertyMatches public
Issue: SPR-13054
2015-05-21 20:16:20 +02:00