1. 10 8月, 2012 1 次提交
    • C
      Remove spring-asm and inline ASM 4 into spring-core · c16f18a5
      Chris Beams 提交于
      ASM 4.0 is generally compatibile with Java 7 classfiles, particularly
      including 'invokedynamic' instructions. This is important when
      considering that Spring's component-scanning support is internally
      ASM-based and it is increasingly likely that component classes having
      invokedynamic instructions may be encountered and read by ASM.
      This upgrade, then, is primarily preventive in nature.
      
      Changes include:
      
       - upgrade from ASM 2.2.3 to ASM 4.0
      
       - adapt to ASM API changes as necessary throughout spring-core,
         resulting in no impact to the public Spring API.
      
       - remove dedicated spring-asm module
      
       - use new :spring-core:asmRepackJar task to repackage
         org.objectweb.asm => org.springframework.asm as per usual and write
         repackaged classes directly into spring-core jar
      
      The choice to eliminate the spring-asm module altogether and instead
      inline the repackaged classes directly into spring-core is first to
      eliminate an otherwise unnecessary second jar. spring-core has a
      non-optional dependency on spring-asm meaning it is always on the
      application classpath. This change simplifies that situation by
      consoliding two jars into one. The second reason for this choice is in
      anticipation of upgrading CGLIB to version 3 and inlining it into
      spring-core as well. See subsequent commit for details.
      
      Issue: SPR-9669
      c16f18a5
  2. 31 1月, 2012 1 次提交
    • 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
  3. 07 5月, 2011 1 次提交
  4. 08 2月, 2011 1 次提交
    • C
      Introduce FeatureSpecification support · b4fea47d
      Chris Beams 提交于
      Introduce FeatureSpecification interface and implementations
      
          FeatureSpecification objects decouple the configuration of
          spring container features from the concern of parsing XML
          namespaces, allowing for reuse in code-based configuration
          (see @Feature* annotations below).
      
          * ComponentScanSpec
          * TxAnnotationDriven
          * MvcAnnotationDriven
          * MvcDefaultServletHandler
          * MvcResources
          * MvcViewControllers
      
      Refactor associated BeanDefinitionParsers to delegate to new impls above
      
          The following BeanDefinitionParser implementations now deal only
          with the concern of XML parsing.  Validation is handled by their
          corresponding FeatureSpecification object.  Bean definition creation
          and registration is handled by their corresponding
          FeatureSpecificationExecutor type.
      
          * ComponentScanBeanDefinitionParser
          * AnnotationDrivenBeanDefinitionParser (tx)
          * AnnotationDrivenBeanDefinitionParser (mvc)
          * DefaultServletHandlerBeanDefinitionParser
          * ResourcesBeanDefinitionParser
          * ViewControllerBeanDefinitionParser
      
      Update AopNamespaceUtils to decouple from XML (DOM API)
      
          Methods necessary for executing TxAnnotationDriven specification
          (and eventually, the AspectJAutoProxy specification) have been
          added that accept boolean arguments for whether to proxy
          target classes and whether to expose the proxy via threadlocal.
      
          Methods that accepted and introspected DOM Element objects still
          exist but have been deprecated.
      
      Introduce @FeatureConfiguration classes and @Feature methods
      
          Allow for creation and configuration of FeatureSpecification objects
          at the user level.  A companion for @Configuration classes allowing
          for completely code-driven configuration of the Spring container.
      
          See changes in ConfigurationClassPostProcessor for implementation
          details.
      
          See Feature*Tests for usage examples.
      
          FeatureTestSuite in .integration-tests is a JUnit test suite designed
          to aggregate all BDP and Feature* related tests for a convenient way
          to confirm that Feature-related changes don't break anything.
          Uncomment this test and execute from Eclipse / IDEA. Due to classpath
          issues, this cannot be compiled by Ant/Ivy at the command line.
      
      Introduce @FeatureAnnotation meta-annotation and @ComponentScan impl
      
          @FeatureAnnotation provides an alternate mechanism for creating
          and executing FeatureSpecification objects.  See @ComponentScan
          and its corresponding ComponentScanAnnotationParser implementation
          for details.  See ComponentScanAnnotationIntegrationTests for usage
          examples
      
      Introduce Default[Formatting]ConversionService implementations
      
          Allows for convenient instantiation of ConversionService objects
          containing defaults appropriate for most environments.  Replaces
          similar support originally in ConversionServiceFactory (which is now
          deprecated). This change was justified by the need to avoid use
          of FactoryBeans in @Configuration classes (such as
          FormattingConversionServiceFactoryBean). It is strongly preferred
          that users simply instantiate and configure the objects that underlie
          our FactoryBeans. In the case of the ConversionService types, the
          easiest way to do this is to create Default* subtypes. This also
          follows convention with the rest of the framework.
      
      Minor updates to util classes
      
          All in service of changes above. See diffs for self-explanatory
          details.
      
          * BeanUtils
          * ObjectUtils
          * ReflectionUtils
      b4fea47d
  5. 29 1月, 2010 1 次提交
    • C
      SPR-6775 · ee2b1cde
      Costin Leau 提交于
      + remove class definitions for sticking around (by forcing eager metadata initialization)
      + improve cache size by eliminating the numbers of method metadata objects created
      + improve lookup access on method metadata
      ee2b1cde
  6. 31 12月, 2009 1 次提交
  7. 22 7月, 2009 1 次提交
  8. 24 4月, 2009 1 次提交
  9. 20 4月, 2009 1 次提交
  10. 22 3月, 2009 1 次提交
  11. 07 3月, 2009 1 次提交
  12. 16 2月, 2009 1 次提交
  13. 28 10月, 2008 3 次提交
  14. 22 10月, 2008 1 次提交