- 07 5月, 2011 23 次提交
-
-
由 Chris Beams 提交于
-
由 Chris Beams 提交于
-
由 Chris Beams 提交于
Introduce @EnableAsync#order AsyncAnnotationBeanPostProcessor's 'order' property is now mutable; @EnableAsync's 'order()' attribute allows for setting it, but must have a default value, thus uses the new Ordered#NOT_ORDERED constant - a reserved negative number very unlikely to be otherwise used that may be interpreted as 'not ordered', useful in annotation defaulting scenarios where null is not an option. Introduce first working cut of AsyncConfiguration Remove AsyncCapability
-
由 Chris Beams 提交于
As a mechanism for setting the 'role' hint on BeanDefinitions created via component-scanning or @Bean methods.
-
由 Chris Beams 提交于
To provide a reasonable default value for annotations that expose int-returning #order attributes.
-
由 Chris Beams 提交于
This change is in support of certain polymorphism cases in @Configuration class inheritance hierarchies. Consider the following scenario: @Configuration public abstract class AbstractConfig { public abstract Object bean(); } @Configuration public class ConcreteConfig { @Override @Bean public BeanPostProcessor bean() { ... } } ConcreteConfig overrides AbstractConfig's #bean() method with a covariant return type, in this case returning an object of type BeanPostProcessor. It is critically important that the container is able to detect the return type of ConcreteConfig#bean() in order to instantiate the BPP at the right point in the lifecycle. Prior to this change, the container could not do this. AbstractAutowireCapableBeanFactory#getTypeForFactoryMethod called ReflectionUtils#getAllDeclaredMethods, which returned Method objects for both the Object and BeanPostProcessor signatures of the #bean() method. This confused the implementation sufficiently as not to choose a type for the factory method at all. This means that the BPP never gets detected as a BPP. The new method being introduced here, #getUniqueDeclaredMethods, takes covariant return types into account, and filters out duplicates, favoring the most specific / narrow return type. Additionally, it filters out any CGLIB 'rewritten' methods, which is important in the case of @Configuration classes, which are enhanced by CGLIB. See the implementation for further details.
-
由 Chris Beams 提交于
Consolidating internal bean name and aspect class name constats within AnnotationConfigUtils to allow access from both the context.config and context.annotation packages without creating a relationship between the two of them (they are unrelated leaf nodes in the packaging currently). The .transaction module does not have a similar utils class and already has a relationship from transaction.config -> transaction.annotation, so placing the constants in .annotation.TransactionManagementCapability to be referenced by .config.AnnotationDrivenBeanDefinitionParser
-
由 Chris Beams 提交于
Allows @Enable* a layer of indirection for deciding which @Configuration class(es) to @Import. The @Import annotation may now accept @Configuration class literals and/or ImportSelector class literals.
-
由 Chris Beams 提交于
@Configuration classes may implement ImportAware in order to be injected with the AnnotationMetadata of their @Import'ing class. Includes the introduction of a new PriorityOrdered ImportAwareBeanPostProcessor that handles injection of the importing class metadata.
-
由 Chris Beams 提交于
Includes the introduction of AnnotationUtils#findAllAnnotationAttributes to support iterating through all annotations declared on a given type and interrogating each for the presence of a meta-annotation. See tests for details.
-
由 Chris Beams 提交于
@ComponentScan is now checked for explicitly and handled immediately when parsing @Configuration classes.
-
由 Chris Beams 提交于
Enables @Profile filtering within ComponentScanBeanDefinitionParser
-
由 Chris Beams 提交于
Feature-related support such as @Feature, @FeatureConfiguration, and FeatureSpecification types will be replaced by framework-provided @Configuration classes and convenience annotations such as @ComponentScan (already exists), @EnableAsync, @EnableScheduling, @EnableTransactionManagement and others. Issue: SPR-8012,SPR-8034,SPR-8039,SPR-8188,SPR-8206,SPR-8223, SPR-8225,SPR-8226,SPR-8227
-
由 Chris Beams 提交于
-
由 Chris Beams 提交于
The overloading necessary to preserve the new signature as well as the old causes ambiguities leading to deprecation warnings in some caller scenarios.
-
由 Chris Beams 提交于
-
由 Chris Beams 提交于
Issue: SPR-7901
-
由 Chris Beams 提交于
-
由 Chris Beams 提交于
-
由 Chris Beams 提交于
Introduced to support checking return types on @Bean methods but never actually used. May be reintroduced as necessary in the future.
-
由 Chris Beams 提交于
-
由 Chris Beams 提交于
-
由 Chris Beams 提交于
Reflecting signature changes in getProperty() methods
-
- 06 5月, 2011 2 次提交
-
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
- Removed AbstractGenericContextLoader's createGenericApplicationContext() method. - AnnotationConfigContextLoader now uses an AnnotatedBeanDefinitionReader instead of working with an AnnotationConfigApplicationContext. - AnnotationConfigContextLoader now uses the supplied GenericApplicationContext to load configuration classes.
-
- 03 5月, 2011 1 次提交
-
-
由 Rossen Stoyanchev 提交于
Resolve custom args after annotated args, set PATH_WITHIN_HANDLER_MAPPING attribute, and rename resolver for @ExceptionHandler methods
-
- 26 4月, 2011 3 次提交
-
-
由 Rossen Stoyanchev 提交于
-
由 Chris Beams 提交于
SessionFactory objects created by SessionFactoryBuilderSupport#buildSessionFactory are now DisposableBean proxies that call SessionFactory#close and release any threadlocal DataSource object. This is the same behavior that has always occurred during LSFBean and ASFBean destruction lifecycles (and still does). This destruction logic has now been factored out into SessionFactoryBuilderSupport#closeHibernateSessionFactory such that all SFB types can reuse it easily. Note that LSFBean and ASFBean are subclasses, respectively, of SFBuilder and ASFBuilder and they each must disable the DisposableBean proxying in order to avoid duplicate attempts at closing the SessionFactory. See the implementations of wrapSessionFactoryIfNeccesary() for details. Issue: SPR-8114
-
由 Chris Beams 提交于
Issue: SPR-8268
-
- 21 4月, 2011 8 次提交
-
-
由 Rossen Stoyanchev 提交于
-
由 Arjen Poutsma 提交于
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
由 Arjen Poutsma 提交于
-
由 Costin Leau 提交于
+ add NPE test
-
由 Costin Leau 提交于
+ add handling for null arguments to prevent NPE in default key generation
-
由 Rossen Stoyanchev 提交于
-
- 20 4月, 2011 1 次提交
-
-
由 Rossen Stoyanchev 提交于
-
- 16 4月, 2011 1 次提交
-
-
由 Rossen Stoyanchev 提交于
-
- 15 4月, 2011 1 次提交
-
-
由 Rossen Stoyanchev 提交于
-