1. 08 5月, 2019 1 次提交
  2. 06 5月, 2019 1 次提交
  3. 09 4月, 2019 1 次提交
  4. 08 4月, 2019 2 次提交
  5. 23 3月, 2019 1 次提交
  6. 22 3月, 2019 1 次提交
  7. 10 10月, 2018 1 次提交
  8. 14 2月, 2018 1 次提交
  9. 11 2月, 2018 1 次提交
  10. 01 9月, 2016 1 次提交
    • S
      Support for candidate components index · dcade06f
      Stephane Nicoll 提交于
      This commit adds a "spring-context-indexer" module that can be added to
      any project in order to generate an index of candidate components defined
      in the project.
      
      `CandidateComponentsIndexer` is a standard annotation processor that
      looks for source files with target annotations (typically `@Component`)
      and references them in a `META-INF/spring.components` generated file.
      
      Each entry in the index is the fully qualified name of a candidate
      component and the comma-separated list of stereotypes that apply to that
      candidate. A typical example of a stereotype is `@Component`. If a
      project has a `com.example.FooService` annotated with `@Component` the
      following `META-INF/spring.components` file is generated at compile time:
      
      ```
      com.example.FooService=org.springframework.stereotype.Component
      ```
      
      A new `@Indexed` annotation can be added on any annotation to instructs
      the scanner to include a source file that contains that annotation. For
      instance, `@Component` is meta-annotated with `@Indexed` now and adding
      `@Indexed` to more annotation types will transparently improve the index
      with additional information. This also works for interaces or parent
      classes: adding `@Indexed` on a `Repository` base interface means that
      the indexed can be queried for its implementation by using the fully
      qualified name of the `Repository` interface.
      
      The indexer also adds any class or interface that has a type-level
      annotation from the `javax` package. This includes obviously JPA
      (`@Entity` and related) but also CDI (`@Named`, `@ManagedBean`) and
      servlet annotations (i.e. `@WebFilter`). These are meant to handle
      cases where a component needs to identify candidates and use classpath
      scanning currently.
      
      If a `package-info.java` file exists, the package is registered using
      a "package-info" stereotype.
      
      Such files can later be reused by the `ApplicationContext` to avoid
      using component scan. A global `CandidateComponentsIndex` can be easily
      loaded from the current classpath using `CandidateComponentsIndexLoader`.
      
      The core framework uses such infrastructure in two areas: to retrieve
      the candidate `@Component`s and to build a default `PersistenceUnitInfo`.
      Rather than scanning the classpath and using ASM to identify candidates,
      the index is used if present.
      
      As long as the include filters refer to an annotation that is directly
      annotated with `@Indexed` or an assignable type that is directly
      annotated with `@Indexed`, the index can be used since a dedicated entry
      wil be present for that type. If any other unsupported include filter is
      specified, we fallback on classpath scanning.
      
      In case the index is incomplete or cannot be used, The
      `spring.index.ignore` system property can be set to `true` or,
      alternatively, in a "spring.properties" at the root of the classpath.
      
      Issue: SPR-11890
      dcade06f
  11. 15 7月, 2016 1 次提交
  12. 05 7月, 2016 1 次提交
  13. 05 11月, 2015 1 次提交
  14. 06 5月, 2015 1 次提交
    • S
      Eliminate inspection of annotations on core Java annotations · 5d67219a
      Sam Brannen 提交于
      This commit picks up where SPR-11483 left off, with the goal of
      eliminating all unnecessary inspection of core JDK annotations in
      Spring's annotation search algorithms in AnnotatedElementUtils and
      AnnotationMetadataReadingVisitor.
      
      Issue: SPR-12989
      5d67219a
  15. 26 11月, 2014 1 次提交
  16. 31 5月, 2014 1 次提交
  17. 01 5月, 2014 1 次提交
  18. 22 4月, 2014 1 次提交
    • S
      Don't mutate annotation metadata when merging attrs · e1720d89
      Sam Brannen 提交于
      Prior to this commit, invoking the getMergedAnnotationAttributes()
      method in AnnotationReadingVisitorUtils resulted in mutation of the
      internal state of the ASM-based annotation metadata supplied to the
      method.
      
      This commit fixes this issue by making a copy of the original
      AnnotationAttributes for the target annotation before merging attribute
      values from the meta-annotation hierarchy.
      
      This commit also introduces a slight performance improvement by
      avoiding duplicate processing of the attributes of the target
      annotation.
      
      Issue: SPR-11710
      e1720d89
  19. 06 4月, 2014 1 次提交
  20. 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
  21. 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
  22. 28 9月, 2013 1 次提交
  23. 09 5月, 2013 1 次提交
    • P
      Extend AnnotationMetadata and MethodMetadata · 8e445f3a
      Phillip Webb 提交于
      Update AnnotationMetadata and MethodMetadata to extend from a new
      AnnotatedTypeMetadata base interface containing the methods that are
      common to both. Also introduce new getAllAnnotationAttributes methods
      providing MultiValueMap access to both annotation and meta-annotation
      attributes.
      
      Existing classreading and standard implementations have been
      refactored to support the new interface.
      8e445f3a
  24. 04 1月, 2013 1 次提交
    • P
      Remove duplicate test classes · 42b5d6dd
      Phillip Webb 提交于
      Prior to this commit many test utility classes and sample beans were
      duplicated across projects. This was previously necessary due to the
      fact that dependent test sources were not shared during a gradle
      build. Since the introduction of the 'test-source-set-dependencies'
      gradle plugin this is no longer the case.
      
      This commit attempts to remove as much duplicate code as possible,
      co-locating test utilities and beans in the most suitable project.
      For example, test beans are now located in the 'spring-beans'
      project.
      
      Some of the duplicated code had started to drift apart when
      modifications made in one project where not ported to others. All
      changes have now been consolidated and when necessary existing tests
      have been refactored to account for the differences.
      
      Conflicts:
      	spring-beans/src/test/java/org/springframework/beans/factory/ConcurrentBeanFactoryTests.java
      	spring-beans/src/test/java/org/springframework/beans/factory/support/BeanFactoryGenericsTests.java
      	spring-beans/src/test/java/org/springframework/beans/support/PagedListHolderTests.java
      42b5d6dd
  25. 29 12月, 2012 2 次提交
  26. 28 5月, 2012 1 次提交
  27. 31 1月, 2012 2 次提交
    • C
      Rename modules {org.springframework.*=>spring-*} · 02a4473c
      Chris Beams 提交于
      This renaming more intuitively expresses the relationship between
      subprojects and the JAR artifacts they produce.
      
      Tracking history across these renames is possible, but it requires
      use of the --follow flag to `git log`, for example
      
          $ git log spring-aop/src/main/java/org/springframework/aop/Advisor.java
      
      will show history up until the renaming event, where
      
          $ git log --follow spring-aop/src/main/java/org/springframework/aop/Advisor.java
      
      will show history for all changes to the file, before and after the
      renaming.
      
      See http://chrisbeams.com/git-diff-across-renamed-directories
      02a4473c
    • C
      Introduce Gradle-based build · f79c5149
      Chris Beams 提交于
       - Use recent Gradle 1.0-milestone-8 snapshot
       - Add initial cut of build.gradle able to compile/test all modules
       - Update .gitignore
       - Generate Gradle wrapper scripts
       - Remove all Eclipse metadata files
       - Temporarily @Ignore tests that do not pass under Gradle
      f79c5149
  28. 12 11月, 2009 1 次提交
  29. 22 7月, 2009 1 次提交
  30. 13 5月, 2009 1 次提交
  31. 24 4月, 2009 1 次提交
  32. 20 4月, 2009 1 次提交
  33. 07 3月, 2009 1 次提交
  34. 16 2月, 2009 1 次提交
  35. 03 11月, 2008 2 次提交