1. 20 5月, 2011 1 次提交
  2. 19 5月, 2011 2 次提交
    • C
      revised cache abstraction · b39673aa
      Costin Leau 提交于
      - removed generics from Cache/CacheManager (they add no value since it's an SPI not API)
      + update docs and tests
      + renamed ConcurrentCacheFactoryBean to ConcurrentMapCacheFactoryBean
      b39673aa
    • C
      revised cache abstraction · dadd0f57
      Costin Leau 提交于
      - removed AbstractDelegatingCache (a cache is not a map, no need to offer a template)
      + renamed ConcurrentCache to ConcurrentCacheMap
      dadd0f57
  3. 18 5月, 2011 5 次提交
    • C
      Revert #processConfigBeanDefinitions to 3.0.x API · 4520ea86
      Chris Beams 提交于
      Revert signature of
      ConfigurationClassPostProcessor#processConfigBeanDefinitions to its form
      found in the 3.0.x line.  Refactorings made during 3.1 development
      caused otherwise package-private types such as
      ConfigurationClassBeanDefinitionReader to escape through this public
      method, causing issues for STS as well as being a general design issue.
      
      Upon review, the refactorings could easily be backed out in favor of a
      simpler approach, and this has been done.
      
      This also means that ConfigurationClassBeanDefinitionReader can return
      to package-private visibility, and this change has been made as well.
      
      Issue: SPR-8200
      4520ea86
    • C
      Remove ConfigurationClassParser from public API · 6fcea8b9
      Chris Beams 提交于
      Issue: SPR-8200
      6fcea8b9
    • C
      revise cache API · 0eb40e1e
      Costin Leau 提交于
      + update failing test
      0eb40e1e
    • C
      revise cache API · 3699a037
      Costin Leau 提交于
      + add missing files (remember to check "show unversioned files")
      3699a037
    • C
      revise cache API · 0b917e3f
      Costin Leau 提交于
      - eliminate unneeded methods
      + introduced value wrapper (name still to be decided) to avoid cache race conditions
      + improved name consistency
      0b917e3f
  4. 13 5月, 2011 1 次提交
    • C
      SPR- · a986d758
      Costin Leau 提交于
      + remove duplicate class
      a986d758
  5. 12 5月, 2011 2 次提交
    • C
      Fix @Autowired+@PostConstruct+@Configuration issue · 2afeb08e
      Chris Beams 提交于
      A subtle issue existed with the way we relied on isCurrentlyInCreation
      to determine whether a @Bean method is being called by the container
      or by user code.  This worked in most cases, but in the particular
      scenario laid out by SPR-8080, this approach was no longer sufficient.
      
      This change introduces a ThreadLocal that contains the factory method
      currently being invoked by the container, such that enhanced @Bean
      methods can check against it to see if they are being called by the
      container or not.  If so, that is the cue that the user-defined @Bean
      method implementation should be invoked in order to actually create
      the bean for the first time.  If not, then the cached instance of
      the already-created bean should be looked up and returned.
      
      See ConfigurationClassPostConstructAndAutowiringTests for
      reproduction cases and more detail.
      
      Issue: SPR-8080
      2afeb08e
    • C
      Refine ignored @PropertySource log warning · 57206db1
      Chris Beams 提交于
      If the enclosing environment does not implement ConfigurableEnvironment,
      then @PropertySource annotations are ignored because there is no way to
      add them to the Environment. Now checking first to see if there are any
      @PropertySource annotations present before issuing the warning.
      
      Issue: SPR-8314
      57206db1
  6. 11 5月, 2011 3 次提交
    • C
      Introduce @PropertySource · c8bc54e0
      Chris Beams 提交于
      Allows a convenient mechanism for contributing a PropertySource to the
      enclosing Spring Environment. See @PropertySource Javadoc for
      complete details and PropertySourceAnnotationTests for examples.
      
      Issue: SPR-8314
      c8bc54e0
    • C
      Support 'required properties' precondition · 404f7980
      Chris Beams 提交于
      Users may now call #setRequiredProperties(String...) against the
      Environment (via its ConfigurablePropertyResolver interface) in order
      to indicate which properties must be present.
      
      Environment#validateRequiredProperties() is invoked by
      AbstractApplicationContext during the refresh() lifecycle to perform
      the actual check and a MissingRequiredPropertiesException is thrown
      if the precondition is not satisfied.
      
      Issue: SPR-8323
      404f7980
    • C
      Polish @Configuration Javadoc · 693204ae
      Chris Beams 提交于
      Add note that nested @Configuration classes must be static.
      693204ae
  7. 10 5月, 2011 1 次提交
    • C
      Allow static modifier on @Bean methods · 52bef0b7
      Chris Beams 提交于
      Declaring @Bean methods as 'static' is now permitted, whereas previously
      it raised an exception at @Configuration class validation time.
      
      A static @Bean method can be called by the container without requiring
      the instantiation of its declaring @Configuration class. This is
      particularly useful when dealing with BeanFactoryPostProcessor beans,
      as they can interfere with the standard post-processing lifecycle
      necessary to handle @Autowired, @Inject, @Value, @PostConstruct and
      other annotations.
      
      static @Bean methods cannot recieve CGLIB enhancement for scoping and
      AOP concerns. This is acceptable in BFPP cases as they rarely if ever
      need it, and should not in typical cases ever be called by another
      @Bean method.  Once invoked by the container, the resulting bean will
      be cached as usual, but multiple invocations of the static @Bean method
      will result in creation of multiple instances of the bean.
      
      static @Bean methods may not, for obvious reasons, refer to normal
      instance @Bean methods, but again this is not likely a concern for BFPP
      types. In the rare case that they do need a bean reference, parameter
      injection into the static @Bean method is technically an option, but
      should be avoided as it will potentially cause premature instantiation
      of more beans that the user may have intended.
      
      Note particularly that a WARN-level log message is now issued for any
      non-static @Bean method with a return type assignable to BFPP.  This
      serves as a strong recommendation to users that they always mark BFPP
      @Bean methods as static.
      
      See @Bean Javadoc for complete details.
      
      Issue: SPR-8257, SPR-8269
      52bef0b7
  8. 08 5月, 2011 2 次提交
    • C
      Allow recursive use of @ComponentScan · d0c31ad8
      Chris Beams 提交于
      Prior to this change, @ComponentScan annotations were only processed at
      the first level of depth.  Now, the set of bean definitions resulting
      from each declaration of @ComponentScan is checked for configuration
      classes that declare @ComponentScan, and recursion is performed as
      necessary.
      
      Cycles between @ComponentScan declarations are detected as well. See
      CircularComponentScanException.
      
      Issue: SPR-8307
      d0c31ad8
    • C
      Polish @EnableScheduling Javadoc · c2b030a5
      Chris Beams 提交于
      c2b030a5
  9. 07 5月, 2011 18 次提交
  10. 21 4月, 2011 1 次提交
    • C
      SPR-8238 · e1d19d6c
      Costin Leau 提交于
      + add handling for null arguments to prevent NPE in default key generation
      e1d19d6c
  11. 13 4月, 2011 1 次提交
  12. 12 4月, 2011 2 次提交
  13. 05 4月, 2011 1 次提交