Commit Graph
386 Commits
Author SHA1 Message Date
Chris Beams 6cb152cc09 Allow class-relative resource loading in GenericXmlApplicationContext (SPR-7530)
Before:

    - new GenericXmlApplicationContext("com/acme/path/to/resource.xml");

    - GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
      ctx.load("com/acme/path/to/resource.xml");
      ctx.refresh();

After:

    - The above remain supported, as well as new class-relative variants

    - import com.acme.path.to.Foo;
      new GenericXmlApplicationContext(Foo.class, "resource.xml");

    - import com.acme.path.to.Foo;
      GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
      ctx.load(Foo.class, "resource.xml");
      ctx.refresh();

These changes are generally aligned with signatures long available in
ClassPathXmlApplicationContext. As GenericXmlApplicationContext is
intended to be a more flexible successor to CPXAC (and FSXAC), it's
important that all the same conveniences are available.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3660 50f2f4bb-b051-0410-bef5-90022cba6387
2010-09-08 15:30:48 +00:00
Juergen Hoeller 68597b9359 avoid failures in case of manually registered null instance (SPR-7523)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3641 50f2f4bb-b051-0410-bef5-90022cba6387
2010-09-06 19:47:16 +00:00
Chris Beams 9b68accbce Fix memory leak in serializable bean factory management (SPR-7502)
GenericApplicationContext and AbstractRefreshableApplicationContext
implementations now call DefaultListableBeanFactory.setSerializationId()
only upon successful refresh() instead of on instantiation of the
context, as was previously the case with GAC.

DLBF.setSerializationId() adds the beanFactory to the *static*
DLBF.serializableFactories map, and while calling close() on the
application context removes entries from that map, it does so only if
the context is currently active (i.e. refresh() has been called).

Also, cancelRefresh() has been overridden in GAC just as it has been
in ARAC to accomodate the possibility of a BeansException being thrown.
In this case, the beanFactory serializationId will be nulled out and
the beanFactory removed from the serializableFactories map.

The SerializableBeanFactoryMemoryLeakTests test case provides full
coverage of these scenarios.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3615 50f2f4bb-b051-0410-bef5-90022cba6387
2010-08-27 10:53:20 +00:00
Juergen Hoeller 4e33c7d442 Spring's constructor resolution consistently finds non-public multi-arg constructors (SPR-7453)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3565 50f2f4bb-b051-0410-bef5-90022cba6387
2010-08-11 19:24:30 +00:00
Juergen Hoeller 250c3546b9 TaskExecutorFactoryBean (as used by task:executor) exposes full ThreadPoolTaskExecutor type (SPR-7403)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3511 50f2f4bb-b051-0410-bef5-90022cba6387
2010-07-28 17:39:03 +00:00
David Syer b1c2d1ea2c SPR-7384: switch to using 1-12 for month numbers
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3489 50f2f4bb-b051-0410-bef5-90022cba6387
2010-07-20 15:25:00 +00:00
Juergen Hoeller 3d06c7229c BeanWrapper preserves annotation information for individual array/list/map elements (SPR-7348)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3482 50f2f4bb-b051-0410-bef5-90022cba6387
2010-07-12 20:56:22 +00:00
Juergen Hoeller 9e57fc0ff9 added test for invalid binding to ClassLoader
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3434 50f2f4bb-b051-0410-bef5-90022cba6387
2010-06-20 19:11:36 +00:00
Juergen Hoeller d693442474 smarter guessing of the element type (SPR-7283)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3420 50f2f4bb-b051-0410-bef5-90022cba6387
2010-06-14 23:26:44 +00:00
Juergen Hoeller 979517d182 added EmbeddedValueResolver support to FormattingConversionServiceFactoryBean (SPR-7087)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3404 50f2f4bb-b051-0410-bef5-90022cba6387
2010-06-08 20:40:54 +00:00
Juergen Hoeller e4a8a1c38d introduced EmbeddedValueResolverAware callback interface for convenient placeholder resolution
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3395 50f2f4bb-b051-0410-bef5-90022cba6387
2010-06-07 22:41:21 +00:00
Juergen Hoeller f8954b4b45 added "expose-proxy" attribute to aop namespace (enforcing AopContext proxy exposure with CGLIB; SPR-7261)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3390 50f2f4bb-b051-0410-bef5-90022cba6387
2010-06-07 21:28:05 +00:00
Chris Beams db1e3ffd79 Added a test to prove that @Qualifier works in conjunction with @Bean methods after some confusion by users that it may not.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3378 50f2f4bb-b051-0410-bef5-90022cba6387
2010-06-02 12:58:59 +00:00
Juergen Hoeller f0e971c755 CronTrigger defensively protects itself against accidental re-fires if a task runs too early (SPR-7004)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3373 50f2f4bb-b051-0410-bef5-90022cba6387
2010-05-26 20:35:42 +00:00
David Syer a818ab8c60 SPR-7239: fix CronTrigger
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3371 50f2f4bb-b051-0410-bef5-90022cba6387
2010-05-26 17:41:54 +00:00
Juergen Hoeller a7e259435e ConversionService is able to apply Converters to interface-based array elements (SPR-7150); a context ConversionService is able to override an ApplicationContext's resource editors (SPR-7079)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3369 50f2f4bb-b051-0410-bef5-90022cba6387
2010-05-26 13:58:37 +00:00
Juergen Hoeller 27c7dc858b consistent postProcessBeanFactory treatment for BeanDefinitionRegistryPostProcessors (SPR-7167)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3346 50f2f4bb-b051-0410-bef5-90022cba6387
2010-05-17 22:40:15 +00:00
Juergen Hoeller 798f34810e revised BeanWrapper's exception wrapping to consistently handle ConversionExceptions (SPR-7177)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3345 50f2f4bb-b051-0410-bef5-90022cba6387
2010-05-17 21:59:02 +00:00
Chris Beams 50241ca741 BeanDefinitionRegistryPostProcessors' postProcessBeanDefinitionRegistry() method now gets called before postProcessBeanFactory() (SPR-7167)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3344 50f2f4bb-b051-0410-bef5-90022cba6387
2010-05-17 16:21:36 +00:00
Juergen Hoeller 5552c241c2 exclude abstract lazy-init beans from MBean exposure as well (SPR-6784)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3326 50f2f4bb-b051-0410-bef5-90022cba6387
2010-05-13 14:38:58 +00:00
Juergen Hoeller 64228e966c introspect decorated definition for getType calls as well (SPR-7006)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3285 50f2f4bb-b051-0410-bef5-90022cba6387
2010-04-21 20:06:38 +00:00
Keith Donald b4a9591e40 preserving desc context for collection/map elements
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3263 50f2f4bb-b051-0410-bef5-90022cba6387
2010-04-18 14:09:41 +00:00
Keith Donald ef2409017c polish
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3260 50f2f4bb-b051-0410-bef5-90022cba6387
2010-04-17 06:47:08 +00:00
Keith Donald 2e128337be restored resource conversion test
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3259 50f2f4bb-b051-0410-bef5-90022cba6387
2010-04-17 06:31:34 +00:00
Keith Donald 90fb3dcfe3 fixed failing test
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3258 50f2f4bb-b051-0410-bef5-90022cba6387
2010-04-17 06:28:06 +00:00
Juergen Hoeller 760d2a9e0a enable JPATraversableResolver to introspect test domain classes
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3219 50f2f4bb-b051-0410-bef5-90022cba6387
2010-04-01 11:45:01 +00:00
Juergen Hoeller 193c2c4fb7 fixed decorated BeanDefinition condition for early type checking in AbstractBeanFactory (SPR-7006)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3206 50f2f4bb-b051-0410-bef5-90022cba6387
2010-03-31 15:21:48 +00:00
Juergen Hoeller ab15578566 AbstractInterceptorDrivenBeanDefinitionDecorator exposes decorated BeanDefinition for early type checking in AbstractBeanFactory (SPR-7006)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3192 50f2f4bb-b051-0410-bef5-90022cba6387
2010-03-30 15:40:47 +00:00
Juergen Hoeller 8c437a8214 fixed DataBinder's conversion error handling for direct field access with ConversionService (SPR-6953)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3163 50f2f4bb-b051-0410-bef5-90022cba6387
2010-03-24 17:40:45 +00:00
Juergen Hoeller e62e56a1a4 BeanPostProcessors are allowed to return a null bean value in the middle of the chain (SPR-6926)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3154 50f2f4bb-b051-0410-bef5-90022cba6387
2010-03-24 10:34:21 +00:00
Sam Brannen 677a3d2615 FooConfig, Foo, Bar, and BarFactory are now public static classes in order to avoid a bug with JDT/Spring IDE where the classes cannot be found in the XML application context.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3117 50f2f4bb-b051-0410-bef5-90022cba6387
2010-03-19 12:39:34 +00:00
Juergen Hoeller 50c8258e26 fixed TypeDescriptor toString for MethodParameter annotations (SPR-6924)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3051 50f2f4bb-b051-0410-bef5-90022cba6387
2010-03-04 13:50:43 +00:00
Juergen Hoeller 8bd58f9e19 context-specific "conversionService" bean may refer to annotation-configured converter beans (SPR-6800)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2975 50f2f4bb-b051-0410-bef5-90022cba6387
2010-02-15 00:42:39 +00:00
Juergen Hoeller 0aea1fe59a added PropertyPlaceholderConfigurer test
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2974 50f2f4bb-b051-0410-bef5-90022cba6387
2010-02-15 00:22:06 +00:00
Juergen Hoeller 6298f7bcdc relaxed test conditions
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2961 50f2f4bb-b051-0410-bef5-90022cba6387
2010-02-12 00:02:32 +00:00
Juergen Hoeller 2f48d5f2ba relaxed test conditions
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2959 50f2f4bb-b051-0410-bef5-90022cba6387
2010-02-11 23:15:15 +00:00
Juergen Hoeller 588e320284 canConvert checks Collection/Map element types as well (SPR-6564)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2954 50f2f4bb-b051-0410-bef5-90022cba6387
2010-02-11 12:23:57 +00:00
Costin Leau ece44a3ff7 SPR-6794
+ fix test

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2917 50f2f4bb-b051-0410-bef5-90022cba6387
2010-02-04 11:33:58 +00:00
Juergen Hoeller 6325a81b7d ApplicationListeners will get detected lazily as well (e.g. on @Bean's concrete result); inner bean ApplicationListeners will be invoked through their proxy (if any)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2909 50f2f4bb-b051-0410-bef5-90022cba6387
2010-02-03 22:54:59 +00:00
Juergen Hoeller a983d181aa fixed MBeanExporter regression: do not try to expose abstract beans (SPR-6784)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2896 50f2f4bb-b051-0410-bef5-90022cba6387
2010-02-01 17:56:03 +00:00
Juergen Hoeller 6a41d6b2a0 BeanNameAutoProxyCreator detects alias matches for specified bean names as well (SPR-6774)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2880 50f2f4bb-b051-0410-bef5-90022cba6387
2010-01-31 14:12:48 +00:00
Juergen Hoeller a7b4dd195f introduced BeanDefinitionRegistryPostProcessor extension to BeanFactoryPostProcessor; @Configuration classes support definition of BeanFactoryPostProcessor beans as well (SPR-6455, SPR-6611)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2879 50f2f4bb-b051-0410-bef5-90022cba6387
2010-01-31 14:05:28 +00:00
Chris Beams 04bed0c1d7 RESOLVED - issue SPR-6779: imported @Configuration classes do not get enhanced and fail to satisfy scoping requirements
refactoring, polishing.


git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2877 50f2f4bb-b051-0410-bef5-90022cba6387
2010-01-29 23:31:53 +00:00
Chris Beams 7c0a31fb36 IN PROGRESS - issue SPR-6779: imported @Configuration classes do not get enhanced and fail to satisfy scoping requirements
All tests in ImportedConfigurationClassEnhancementTests now pass.  The fix was simple - imported @Configuration class bean definitions were not getting marked with the attribute that indicates that they are indeed @Configuration class bean definitions.  To make this happen, ConfigurationClassPostProcessor's protected checkConfigurationClassCandidate(beanDef) method is being called from within ConfigurationClassBeanDefinitionReader when imported @Configuration classes are being processed.  This is quick and dirty, and the subsequent check-in will refactor the solution appropriately.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2876 50f2f4bb-b051-0410-bef5-90022cba6387
2010-01-29 20:55:03 +00:00
Chris Beams b157c5dbad Unit test cornering bug SPR-6779, 'imported @Configuration classes do not get enhanced and fail to satisfy scoping requirements'
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2875 50f2f4bb-b051-0410-bef5-90022cba6387
2010-01-29 19:48:25 +00:00
Juergen Hoeller b33728c991 added test for expression re-evaluation
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2851 50f2f4bb-b051-0410-bef5-90022cba6387
2010-01-22 16:03:17 +00:00
Juergen Hoeller bdca327c35 fixed getPropertyTypeDescriptor to work for nested indexed property as well (SPR-6710)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2842 50f2f4bb-b051-0410-bef5-90022cba6387
2010-01-20 15:10:22 +00:00
Juergen Hoeller b35b9fdc5c fixed BeanPostProcessor invocation for null bean (SPR-6700)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2832 50f2f4bb-b051-0410-bef5-90022cba6387
2010-01-18 18:51:28 +00:00
Chris Beams 58e1f08112 polishing
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2828 50f2f4bb-b051-0410-bef5-90022cba6387
2010-01-18 15:45:10 +00:00
Chris Beams 8be158bd0a Resolved SPR-6602, relating to FactoryBean behavior in @Configuration classes. See issue and code comments for full details.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2824 50f2f4bb-b051-0410-bef5-90022cba6387
2010-01-18 08:54:45 +00:00