1. 02 12月, 2014 2 次提交
  2. 29 10月, 2014 1 次提交
  3. 21 10月, 2014 4 次提交
  4. 04 9月, 2014 1 次提交
  5. 08 8月, 2014 1 次提交
  6. 02 8月, 2014 1 次提交
  7. 08 7月, 2014 1 次提交
  8. 01 7月, 2014 1 次提交
  9. 27 6月, 2014 1 次提交
  10. 24 6月, 2014 2 次提交
  11. 05 6月, 2014 1 次提交
    • S
      Support for @order at the bean declaration level · 001d0e73
      Stephane Nicoll 提交于
      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
      001d0e73
  12. 30 4月, 2014 2 次提交
  13. 29 4月, 2014 1 次提交
  14. 23 4月, 2014 1 次提交
  15. 01 4月, 2014 1 次提交
    • S
      javax.annotation.Priority alternative to @order · dcf5f4a6
      Stephane Nicoll 提交于
      This commit rationalizes the use of @order so that the standard
      @Priority annotation can be used instead. The handling of both
      annotations are now defined in OrderUtils.
      
      This also updates the link to the JavaEE API so that we refer to
      JavaEE7 instead of JavaEE6.
      
      Issue: SPR-11639
      dcf5f4a6
  16. 26 3月, 2014 1 次提交
    • S
      Don't detect annotations on superclass in StAnMeta · a2f1169e
      Sam Brannen 提交于
      Changes introduced in conjunction with issue SPR-11475 altered the
      behavior of StandardAnnotationMetadata such that annotations could be
      detected on superclasses, specifically in the case where the
      AnnotatedElementUtils.getAllAnnotationAttributes() method is invoked to
      obtain multiple annotations of the same type (on the lowest level in the
      class hierarchy), as is the case for @Profile and @Conditional.
      
      This commit partially reverts these changes as follows:
      
       - All methods in AnnotatedElementUtils now set the
         traverseClassHierarchy to false, thereby effectively reverting the
         changes made in commit 1d30bf83.
         Note, however, that the changes made to AnnotationUtils remain in
         place.
      
       - Introduced tests in AnnotationMetadataTests that verify behavior
         present in Spring Framework 4.0.2 and earlier.
      
       - Updated tests in AnnotatedElementUtilsTests so that they pass against
         the reverted changes (i.e., align with the behavior present in Spring
         Framework 4.0.2 and earlier).
      
       - Refined Javadoc in AnnotationMetadata with regard to annotations
         being "present" vs. "defined".
      
       - Refined Javadoc in AnnotatedTypeMetadata.
      
      Issue: SPR-11475, SPR-11595
      a2f1169e
  17. 20 3月, 2014 1 次提交
    • S
      Support meta-annotation overrides in ASM processing · 99cd2f60
      Sam Brannen 提交于
      Prior to this commit, Spring supported meta-annotation attribute
      overrides in custom composed annotations with reflection-based
      annotation processing but not with ASM-based annotation processing.
      
      This commit ensures that meta-annotation attribute overrides are
      supported in AnnotationMetadataReadingVisitor.getAnnotationAttributes().
      
      Issue: SPR-11574
      99cd2f60
  18. 28 2月, 2014 1 次提交
  19. 27 2月, 2014 1 次提交
    • S
      Ensure AnnotationUtils is compatible with Java 6 · 0637864b
      Sam Brannen 提交于
      The previous commit introduced a dependency on
      Class.getDeclaredAnnotation() which is a Java 8 API.
      
      This commit refactors AnnotationUtils.findAnnotation(Class, Class, Set)
      to use Class.getAnnotation() in conjunction with
      isAnnotationDeclaredLocally() in order to achieve the same desired
      behavior.
      
      Issue: SPR-11475
      0637864b
  20. 26 2月, 2014 2 次提交
    • S
      Favor 'local' annotations over inherited ones · 1d30bf83
      Sam Brannen 提交于
      Prior to this commit, the implementations of findAnnotation() in
      AnnotationUtils and getAnnotationAttributes() in AnnotatedElementUtils
      favored inherited annotations and inherited composed annotations over
      composed annotations that are declared closer to the starting class
      passed to these methods.
      
      This commit addresses this issue as follows:
      
      - Refactored AnnotationUtils to use getDeclaredAnnotation() and
        getDeclaredAnnotations() instead of getAnnotation() and
        getAnnotations() where appropriate.
      
      - AnnotatedElementUtils.doProcess() supports a traverseClassHierarchy
        flag to control whether the class hierarchy should be traversed,
        using getDeclaredAnnotations() instead of getAnnotations() if the
        flag is true.
      
      - Overhauled Javadoc in AnnotatedElementUtils.
      
      Issue: SPR-11475
      1d30bf83
    • S
      Do not inspect meta-annotations on Java annotations · 979c4833
      Sam Brannen 提交于
      This commit introduces a new isInJavaLangAnnotationPackage(Annotation)
      method in AnnotationUtils. This method is now used in AnnotationUtils,
      AnnotatedElementUtils, and MetaAnnotationUtils to ensure that search
      algorithms do no search for meta-annotations on annotations in the
      "java.lang.annotation" package.
      
      The following are some empirical results from this change:
      
      - The number of times that the findAnnotation(Class,Class,Set) method in
        AnnotationUtils is recursively invoked while executing
        AnnotationUtilsTests drops from 51 to 29.
      
      - The number of times that the process(AnnotatedElement) method in
        AnnotationUtils.AnnotationCollector is recursively invoked while
        executing AnnotationUtilsTests.getRepeatableFromMethod() drops
        from 16 to 2.
      
      - The number of times that the doProcess() method in
        AnnotatedElementUtils is recursively invoked while executing the
        "getAnnotationAttributes() On MetaCycleAnnotatedClass with missing
        target meta-annotation" test in AnnotatedElementUtilsTests drops
        from 23 to 5.
      
      - The number of times that the findAnnotationDescriptor(Class,Set,Class)
        method in MetaAnnotationUtils is recursively invoked while executing
        the "findAnnotationDescriptor() on MetaCycleAnnotatedClass with
        missing target meta-annotation" test in MetaAnnotationUtilsTests drops
        from 16 to 8.
      
      Issue: SPR-11483
      979c4833
  21. 22 2月, 2014 1 次提交
  22. 20 2月, 2014 1 次提交
    • S
      Support nested meta-annotations in AnnotationUtils · 42a36349
      Sam Brannen 提交于
      Prior to this commit, AnnotationUtils.findAnnotation(Class, Class)
      claimed to recursively search through annotations; however, only one
      level of annotations was supported by the algorithm.
      
      This commit alters the search algorithm so that nested meta-annotations
      (i.e., meta-annotations on meta-annotations) are also supported.
      
      Issue: SPR-11448
      42a36349
  23. 27 11月, 2013 1 次提交
    • P
      General polish of new 4.0 classes · 15698860
      Phillip Webb 提交于
      Apply consistent styling to new classes introduced in Spring 4.0.
      
      - Javadoc line wrapping, whitespace and formatting
      - General code whitespace
      - Consistent Assert.notNull messages
      15698860
  24. 26 11月, 2013 1 次提交
    • P
      Fix remaining compiler warnings · 59002f24
      Phillip Webb 提交于
      Fix remaining Java compiler warnings, mainly around missing
      generics or deprecated code.
      
      Also add the `-Werror` compiler option to ensure that any future
      warnings will fail the build.
      
      Issue: SPR-11064
      59002f24
  25. 22 11月, 2013 1 次提交
    • S
      Polish AnnotationUtils · a613126b
      Sam Brannen 提交于
      - Added explicit reference to “get” and “find” lookup types in the
        class-level Javadoc.
      - Updated documentation for the underlying algorithms in
        findAnnotation(Method,Class) and findAnnotation(Class,Class) in line
        with the status quo.
      - Reverted recent changes to findAnnotationDeclaringClass() by removing
        meta-annotation support in order to maintain backwards compatibility
        with previous releases.
      a613126b
  26. 21 11月, 2013 1 次提交
    • S
      Support non-public anno. attr. values in AnnoUtils · b830d736
      Sam Brannen 提交于
      Prior to this commit, the getValue(Annotation, String) method in
      AnnotationUtils failed to retrieve the value of the desired annotation
      attribute if the annotation itself was not public -- for example if the
      annotation was declared as package private.
      
      This commit addresses this issue by ensuring that getValue(Annotation,
      String) uses reflection to make the desired annotation attribute method
      accessible before attempting to invoke it to retrieve the value.
      
      Issue: SPR-11104
      b830d736
  27. 28 10月, 2013 1 次提交
    • S
      Provide meta-annotation support in the TCF · 5e7021f3
      Sam Brannen 提交于
      Spring 3.0 already allows component stereotypes to be used in a
      meta-annotation fashion, for example by creating a custom
      @TransactionalService stereotype annotation which combines
      @Transactional and @Service in a single, reusable, application-specific
      annotation. However, the Spring TestContext Framework (TCF) currently
      does not provide any support for test-related annotations to be used as
      meta-annotations.
      
      This commit overhauls the TCF with regard to how annotations are
      retrieved and adds explicit support for the following annotations to be
      used as meta-annotations in conjunction with the TCF.
      
      - @ContextConfiguration
      - @ContextHierarchy
      - @ActiveProfiles
      - @DirtiesContext
      - @IfProfileValue
      - @ProfileValueSourceConfiguration
      - @BeforeTransaction
      - @AfterTransaction
      - @TransactionConfiguration
      - @Rollback
      - @TestExecutionListeners
      - @Repeat
      - @Timed
      - @WebAppConfiguration
      
      Note that meta-annotation support for @Transactional was already
      available prior to this commit.
      
      The following is a summary of the major changes included in this commit.
      
      - Now using AnnotationUtils.getAnnotation() instead of
        Class.getAnnotation() where appropriate in the TestContext Framework.
      - Now using AnnotationUtils.findAnnotation() instead of
        Class.isAnnotationPresent() where appropriate in the TestContext
        Framework.
      - Introduced findAnnotationPrefersInteracesOverLocalMetaAnnotations() in
        AnnotationUtilsTests in order to verify the status quo.
      - AnnotationUtils.findAnnotationDeclaringClass() and
        AnnotationUtils.findAnnotationDeclaringClassForTypes() now support
        meta annotations.
      - Introduced MetaAnnotationUtils and AnnotationDescriptor in the
        spring-test module.
      - Introduced UntypedAnnotationDescriptor in MetaAnnotationUtils.
      - Introduced findAnnotationDescriptorForTypes() in MetaAnnotationUtils.
      - ContextLoaderUtils now uses MetaAnnotationUtils for looking up
        @ActiveProfiles as a potential meta-annotation.
      - TestContextManager now uses MetaAnnotationUtils for looking up
        @TestExecutionListeners as a potential meta-annotation.
      - DirtiesContextTestExecutionListener now uses AnnotationUtils for
        looking up @DirtiesContext as a potential meta-annotation.
      - Introduced DirtiesContextTestExecutionListenerTests.
      - ProfileValueUtils now uses AnnotationUtils for looking up
        @IfProfileValue and @ProfileValueSourceConfiguration as potential
        meta-annotations.
      - @BeforeTransaction and @AfterTransaction now support ANNOTATION_TYPE
        as a target, allowing them to be used as meta-annotations.
      - TransactionalTestExecutionListener now uses AnnotationUtils for
        looking up @BeforeTransaction, @AfterTransaction, @Rollback, and
        @TransactionConfiguration as potential meta-annotations.
      - Introduced TransactionalTestExecutionListenerTests.
      - @Repeat and @Timed now support ANNOTATION_TYPE as a target, allowing
        them to be used as meta-annotations.
      - SpringJUnit4ClassRunner now uses AnnotationUtils for looking up
        @Repeat and @Timed as potential meta-annotations.
      - Moved all remaining logic for building the MergedContextConfiguration
        from the DefaultTestContext constructor to
        ContextLoaderUtils.buildMergedContextConfiguration().
      - Verified meta-annotation support for @WebAppConfiguration and
        @ContextConfiguration.
      
      Issue: SPR-7827
      5e7021f3
  28. 23 10月, 2013 1 次提交
    • P
      Add @PropertySources and ignoreResourceNotFound · e95bd9e2
      Phillip Webb 提交于
      Support repeatable @PropertySource annotations in Java 8 and add
      @PropertySources container annotation for Java 6/7. Also add an
      ignoreResourceNotFound attribute to @PropertySource allowing missing
      property resources to be silently ignored.
      
      This commit also introduces some generally useful methods to
      AnnotationUtils for working with @Repeatable annotations.
      
      Issue: SPR-8371
      e95bd9e2
  29. 28 8月, 2013 1 次提交
    • J
      Introduced support for @Lazy on injection points · 4447248a
      Juergen Hoeller 提交于
      This turned into a rather huge affair since it led to the introduction of a new AutowireCandidateResolver implementation in the spring-context module. That ACR impl is now being set through AnnotationConfigUtils; GenericApplicationContext and co do not set a default QualifierAnnotationAutowireCandidateResolver anymore (which has always been a smell anyway).  At the same time, dependency ordering has moved from AutowiredAnnotationBeanPostProcessor to DefaultListableBeanFactory itself through a "dependencyComparator" strategy, applying to constructor dependencies and lazy resolution proxies as well.
      
      Issue: SPR-10353
      4447248a
  30. 22 8月, 2013 1 次提交
  31. 21 8月, 2013 2 次提交
  32. 17 5月, 2013 1 次提交