- 24 5月, 2015 8 次提交
-
-
由 Juergen Hoeller 提交于
-
由 Sam Brannen 提交于
This commit also introduces a cache for attribute alias metadata. Issue: SPR-11512
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
-
由 Sam Brannen 提交于
Issue: SPR-11512
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
Issue: SPR-13064
-
- 23 5月, 2015 14 次提交
-
-
由 Sam Brannen 提交于
Issue: SPR-11512
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Brian Clozel 提交于
Reinstate a variant of the `WebContentGenerator.checkAndPrepare` method for projects that are using it. This variant is now marked as deprecated. Issue: SPR-11792
-
由 Sam Brannen 提交于
Issue: SPR-11512
-
由 Sam Brannen 提交于
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
This change ensures that the deprecated UserSessionRegistry is still used if configured.
-
- 22 5月, 2015 18 次提交
-
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Andy Clement 提交于
Before this commit the object that #this would refer to in nested expressions within projection/selection clauses was always the root context object. This was incorrect as it should be the element being projected/selected over. This commit introduces a scope root context object which is set upon entering a new scope (like when entering a projection or selection). Any object. With this change this kind of expression now behaves: where #this is the element of list1. Unqualified references are also resolved against this scope root context object. Issues: SPR-10417, SPR-12035, SPR-13055
-
由 Stephane Nicoll 提交于
-
由 Sam Brannen 提交于
This commit introduces a test that will fail if SynthesizedAnnotation is not public as is required by the contract for getProxyClass() in java.lang.reflect.Proxy. Issue: SPR-13057
-
由 Sam Brannen 提交于
Issue: SPR-13060
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
由 Juergen Hoeller 提交于
Issue: SPR-13056
-
由 Sebastien Deleuze 提交于
Issue: SPR-12207
-
由 Sebastien Deleuze 提交于
This commit introduces support for asynchronous return values thanks to the new AsyncHandlerMethodReturnValueHandler interface. Out of the box support for ListenableFuture is also provided. Issue: SPR-12168
-
由 Juergen Hoeller 提交于
Includes an optimization for simple ByteBuffer duplication. Issue: SPR-13056
-
由 Stephane Nicoll 提交于
Commit 3d86f15a 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
-
由 Stephane Nicoll 提交于
-
由 Stephane Nicoll 提交于
Enable public visibility on SynthetizedAnnotation to allow annotation outside its package to be proxied properly. This commit is pending a unit test that actually reproduces the problem. Issue: SPR-13057
-
由 Sam Brannen 提交于
* SPR-11512: Support annotation attribute aliases and overrides via @AliasFor
-
由 Sam Brannen 提交于
This commit introduces first-class support for aliases for annotation attributes. Specifically, this commit introduces a new @AliasFor annotation that can be used to declare a pair of aliased attributes within a single annotation or an alias from an attribute in a custom composed annotation to an attribute in a meta-annotation. To support @AliasFor within annotation instances, AnnotationUtils has been overhauled to "synthesize" any annotations returned by "get" and "find" searches. A SynthesizedAnnotation is an annotation that is wrapped in a JDK dynamic proxy which provides run-time support for @AliasFor semantics. SynthesizedAnnotationInvocationHandler is the actual handler behind the proxy. In addition, the contract for @AliasFor is fully validated, and an AnnotationConfigurationException is thrown in case invalid configuration is detected. For example, @ContextConfiguration from the spring-test module is now declared as follows: public @interface ContextConfiguration { @AliasFor(attribute = "locations") String[] value() default {}; @AliasFor(attribute = "value") String[] locations() default {}; // ... } The following annotations and their related support classes have been modified to use @AliasFor. - @ManagedResource - @ContextConfiguration - @ActiveProfiles - @TestExecutionListeners - @TestPropertySource - @Sql - @ControllerAdvice - @RequestMapping Similarly, support for AnnotationAttributes has been reworked to support @AliasFor as well. This allows for fine-grained control over exactly which attributes are overridden within an annotation hierarchy. In fact, it is now possible to declare an alias for the 'value' attribute of a meta-annotation. For example, given the revised declaration of @ContextConfiguration above, one can now develop a composed annotation with a custom attribute override as follows. @ContextConfiguration public @interface MyTestConfig { @AliasFor( annotation = ContextConfiguration.class, attribute = "locations" ) String[] xmlFiles(); // ... } Consequently, the following are functionally equivalent. - @MyTestConfig(xmlFiles = "test.xml") - @ContextConfiguration("test.xml") - @ContextConfiguration(locations = "test.xml"). Issue: SPR-11512, SPR-11513
-
由 Stephane Nicoll 提交于
Issue: SPR-13054
-