1. 07 5月, 2011 29 次提交
    • C
      Rename AsyncConfigurer#get{+Async}Executor · 7e398f10
      Chris Beams 提交于
      7e398f10
    • C
      Polish @EnableScheduling Javadoc · 358cbf43
      Chris Beams 提交于
      358cbf43
    • C
      Expose return-value-handlers in mvc namespace · b7f4f2b5
      Chris Beams 提交于
      Mirroring the MvcConfigurer#addCustomReturnValueHandlers callback which
      allows for providing a list of HandlerMethodReturnValueHandler types
      b7f4f2b5
    • C
      Rename RequestMapping types for concision · 1efb82d7
      Chris Beams 提交于
      Remove 'Method' from RequestMappingHandlerMethodMapping and
      RequestMappingHandlerMethodAdapter
      1efb82d7
    • C
      Rename DataBinderFactory subtypes for concision · 2092a31f
      Chris Beams 提交于
      2092a31f
    • C
      Introduce @EnableMvcConfiguration · 446dfdbf
      Chris Beams 提交于
      446dfdbf
    • C
      Introduce @EnableTransactionManagement · 01e5120a
      Chris Beams 提交于
      01e5120a
    • C
      Introduce @EnableScheduling · d9a89529
      Chris Beams 提交于
      d9a89529
    • C
      Introduce @EnableAsync · de50789c
      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
      de50789c
    • C
      Introduce @Role · cf0fc278
      Chris Beams 提交于
      As a mechanism for setting the 'role' hint on BeanDefinitions created
      via component-scanning or @Bean methods.
      cf0fc278
    • C
      Introduce Ordered#NOT_ORDERED · 17892a8a
      Chris Beams 提交于
      To provide a reasonable default value for annotations that expose
      int-returning #order attributes.
      17892a8a
    • C
      Introduce ReflectionUtils#getUniqueDeclaredMethods · 7b999c67
      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.
      7b999c67
    • C
      Consolidate annotation processing constants · 2bc3527f
      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
      2bc3527f
    • C
      Introduce ImportSelector interface · 9a271ce6
      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.
      9a271ce6
    • C
      Introduce ImportAware interface · cdb01cbd
      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.
      cdb01cbd
    • C
      Process all meta and local @Import declarations · 89005a5b
      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.
      89005a5b
    • C
      Provide dedicated @ComponentScan processing · 856da7ed
      Chris Beams 提交于
      @ComponentScan is now checked for explicitly and handled immediately
      when parsing @Configuration classes.
      856da7ed
    • C
      Delegate ComponentScanBDP environment to scanner · cd4fb665
      Chris Beams 提交于
      Enables @Profile filtering within ComponentScanBeanDefinitionParser
      cd4fb665
    • C
      Remove "Feature" support introduced in 3.1 M1 · 111fb71f
      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
      111fb71f
    • C
      Rename ConfigurationClassMethod => BeanMethod · 0a790c14
      Chris Beams 提交于
      0a790c14
    • C
      Revert deprecation of BDRU#registerWithGeneratedName · f683f781
      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.
      f683f781
    • C
      Prevent empty calls to ACAC #register and #scan · 84a63b6d
      Chris Beams 提交于
      84a63b6d
    • C
      Add comment on DisposableBean use in @Configuration · d2faef44
      Chris Beams 提交于
      Issue: SPR-7901
      d2faef44
    • C
      Polish Javadoc · d3678caa
      Chris Beams 提交于
      d3678caa
    • C
      Fix generics and serialization warnings · f30b7e31
      Chris Beams 提交于
      f30b7e31
    • C
      Remove unused MethodMetadata#getMethodReturnType · 6d84f06d
      Chris Beams 提交于
      Introduced to support checking return types on @Bean methods but never
      actually used.  May be reintroduced as necessary in the future.
      6d84f06d
    • C
      Introduce PropertyResolver#getPropertyAsClass · 4b5208fa
      Chris Beams 提交于
      4b5208fa
    • C
      Rename Property{SourcesProperty}ResolverTests · 275d43df
      Chris Beams 提交于
      275d43df
    • C
      Update MockEnvironment / MockPropertySource types · c51c3408
      Chris Beams 提交于
      Reflecting signature changes in getProperty() methods
      c51c3408
  2. 06 5月, 2011 2 次提交
    • S
      polishing · 3e2cc7dd
      Sam Brannen 提交于
      3e2cc7dd
    • S
      [SPR-6184] Simplifying ContextLoader implmementation: · ddc9bbb5
      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.
      ddc9bbb5
  3. 03 5月, 2011 1 次提交
  4. 26 4月, 2011 3 次提交
    • R
      50117dce
    • C
      Automatically close SessionFactory objects · 5c27a042
      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
      5c27a042
    • C
      Fix typo in aop reference documentation · 88e2277b
      Chris Beams 提交于
      Issue: SPR-8268
      88e2277b
  5. 21 4月, 2011 5 次提交