- 31 3月, 2011 8 次提交
-
-
由 Rossen Stoyanchev 提交于
Predictable index position for BindingResult keys and parameter annotation convenience methods in MethodParameter
-
由 Chris Beams 提交于
Was protected due to oversight, now public. Issue: SPR-8107
-
由 Chris Beams 提交于
Large refactoring of existing *SessionFactoryBean hierarchy designed to support configuration of Hibernate SessionFactory objects within @Configuration class @Bean methods without forcing use of a FactoryBean type, which is generally discouraged due to awkwardness of programming model and lifecycle issues. Refactored and new types include: * Removal of AbstractSessionFactoryBean, replacing it with SessionFactoryBeanSupport abstract base class * Introduction of SessionFactoryBuilder and AnnotationSessionFactoryBuilder types, both direct subclasses of SessionFactoryBuilderSupport. These types are intended for direct use within @Bean methods. They expose method-chainable set* methods allowing for concise and convenient use. See JavaDoc on both types for usage examples. * LocalSessionFactoryBean and AnnotationSessionFactoryBean types are now subclasses, respectively, of the *Builder types above. LSFB and ASFB backward-compatibility has been maintained almost entirely. The one exception is that there is no longer a protected convertHibernateAccessException() method available in the hierarchy. This method was not likely often used anyway and has been replaced by the new (and public) setPersistenceExceptionTranslator() which accepts instances of type HibernateExceptionTranslator as introduced in SPR-8076. LSFB and ASFB setter method signatures have changed. They no longer return void in standard JavaBeans style but rather, and due to extending the *Builder types above, return the 'this' reference. This posed a problem because the Spring container has to date been unable to detect and provide dependency injection against non-void returning setter methods. This limitation was due to the way that the default JavaBeans Introspector class and its getBeanInfo() method works, and prompted the introduction and intergration of ExtendedBeanInfo, already completed in SPR-8079. So have no concern if you notice this signature change - it all works. Certain deprecations have been made: * All LSFB/ASFB methods related to Hibernate's CacheProvider SPI, reflecting its deprecation in Hibernate 3.3 in favor of the new RegionFactory SPI. Note these methods have been preserved only on the FactoryBean types. The new *SessionFactoryBuilder supertypes do not expose CacheProvider services at all. * All protected LSFB/ASFB methods that accept a Hibernate Configuration parameter, such as newSessionFactory(Configuration), postProcessMappings(Configuration) and postProcessConfiguration(Configuation), in favor of no-arg methods with the same names. Due to the nature of the hierarchy refactoring mentioned above, the Configuration instance is always available when these methods are called, thus no need to pass it in as a parameter. In the process, our approach to automatic detection of Hibernate dialect has been improved (it was in fact broken before). Thanks to James Roper for his suggestion in SPR-7936 as to how to fix this. See HibernateSessionFactoryConfigurationTests as a starting point for understanding the new builder-style approach to SessionFactory creation. Note especially use of the SessionFactoryBuilder#doWithConfiguration method which allows for direct programmatic configuration of the Native Hibernate (Annotation)Configuration API. As a final note, AnnotationConfiguration has been deprecated in Hibernate 3.6, and great pains have been taken to ensure that users of any supported Hibernate version (3.2 -> 3.6) will never need to (a) cast from Configuration to AnnotationConfiguration or (b) experience deprecation warnings due to being forced to use the AnnotationConfiguration API. Explore the JavaDoc around the doWithConfiguration() method and HibernateConfigurationCallback type for complete details. Issue: SPR-8066, SPR-7936, SPR-8076, SPR-8098
-
由 Chris Beams 提交于
Improve stack traces in certain Hibernate failure cases by properly chaining the cause exception. Issue: SPR-7933
-
由 Chris Beams 提交于
Designed to allow persistence exception translation of HibernateException types without being forced to use LocalSessionFactoryBean types. Committed now in support of the forthcoming introduction of *SessionFactoryBuilder types. Issue: SPR-8076
-
由 Chris Beams 提交于
Decorator for instances returned from Introspector#getBeanInfo(Class<?>) that supports detection and inclusion of non-void returning setter methods. Fully supports indexed properties and otherwise faithfully mimics the default BeanInfo#getPropertyDescriptors() behavior, e.g., PropertyDescriptor ordering, etc. This decorator has been integrated with CachedIntrospectionResults meaning that, in simple terms, the Spring container now supports injection of setter methods having any return type. Issue: SPR-8079
-
由 Sam Brannen 提交于
[SPR-6184] AnnotationConfigContextLoader now calls AnnotationConfigApplicationContext's register(Class<?>...) method in one go, via var-args.
-
由 Sam Brannen 提交于
[SPR-6184] AnnotationConfigContextLoader now extends AbstractGenericContextLoader; added new extension points to AbstractGenericContextLoader.
-
- 30 3月, 2011 2 次提交
-
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
- 29 3月, 2011 12 次提交
-
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
[SPR-8092] cleaning up ignored and broken ORM tests; suppressing warnings; fixed Eclipse classpath for tests.
-
由 Sam Brannen 提交于
-
由 Costin Leau 提交于
+ add target object to KeyGenerator
-
由 Sam Brannen 提交于
[SPR-8089] cleaning up ignored and broken JMX tests; suppressing warnings; using generics where feasible; documented the jmxremote_optional.jar requirement in AbstractMBeanServerTests.
-
由 Sam Brannen 提交于
Polishing and fixed broken support for @IfProfileValue in AbstractJpaTests (even though it's deprecated).
-
由 Sam Brannen 提交于
-
- 28 3月, 2011 3 次提交
-
-
由 Sam Brannen 提交于
[SPR-8030] AbstractJUnit38SpringContextTests and AbstractTransactionalJUnit38SpringContextTests are now officially deprecated.
-
由 Costin Leau 提交于
+ add more logging
-
由 Costin Leau 提交于
SPR-7832 + expose the invocation params through the cache root object + update javadocs
-
- 24 3月, 2011 1 次提交
-
-
由 Agim Emruli 提交于
-
- 23 3月, 2011 1 次提交
-
-
由 Chris Beams 提交于
Issue: SPR-8078
-
- 18 3月, 2011 1 次提交
-
-
由 Chris Beams 提交于
Issue: SPR-8062
-
- 15 3月, 2011 3 次提交
-
-
由 Chris Beams 提交于
Issue: SPR-8031, SPR-7508, SPR-8057
-
由 Chris Beams 提交于
Issue: SPR-8031, SPR-7508
-
由 Chris Beams 提交于
Previously errors were being raised when trying to inject @Value annotated paramaters such as: @Feature public FeatureSpec feature(@Value("#{environment['foo']}") String foo) { return new FeatureSpec(foo); } This is not so much because dependency resolution of @Value-annotated types was failing, but rather because the 'early bean reference' proxying mechanism was throwing an exception if any final type was detected as a parameter. This is of course because final types are non-subclassable by CGLIB. On review, however, it's obvious that certain final types must be allowed for injection. @Value injection is an obvious one, but the rarer case of a Spring bean of type String or int is another. The explicit guard against final types as parameters to @Feature methods has been removed. Final types are still checked for, however, and if found, no proxing is attempted. The dependency is immediately resolved against the current BeanFactory and injected into the @Feature method. This means that @Value injection, @Qualifier injection, etc all work as expected, but does mean that premature bean instantiation may occur if a user unwittingly injects non-String, non-primitive final bean types as @Feature method parameters. Issue: SPR-7974
-
- 14 3月, 2011 4 次提交
-
-
由 Chris Beams 提交于
Issue: SPR-8054
-
由 Chris Beams 提交于
CGLIB-enhanced @Configuration subclasses now implement DisposableBean such that Enhancer.registerStaticCallbacks(subclass, null) is invoked on container shutdown. This ensures that garbage collection can work properly and avoids memory consumption issues for applications that create and destroy many application contexts within the same JVM. Issue: SPR-7901
-
由 Chris Beams 提交于
context:property-placeholder extends 'propertyPlaceholder' type defintion once again. This relationship was inadvertently removed in 3.1 M1, and the effect was that XML tooling would raise errors on use of attributes like 'location'. The updated schema has also been published to http://www.springframework.org/schema/context/spring-context-3.1.xsd Issue: SPR-8037
-
由 Chris Beams 提交于
-
- 13 3月, 2011 1 次提交
-
-
由 Sam Brannen 提交于
-
- 12 3月, 2011 2 次提交
-
-
由 Chris Beams 提交于
Issue: SPR-7973
-
由 Chris Beams 提交于
Issue: SPR-7975
-
- 11 3月, 2011 2 次提交
-
-
由 Chris Beams 提交于
Prove that injection of special container types such as ResourceLoader, BeanFactory, etc already works with the current implementation of @Feature methods. Issue: SPR-7975
-
由 Chris Beams 提交于
Previously, only commas could delimit <beans profile="p1,p2"/>. Now, as with <bean alias="..."/>, the profile attribute allows for delimiting by comma, space and/or semicolon. BeanDefinitionParserDelegate.MULTI_VALUE_ATTRIBUTE_DELIMITERS has been added as a constant to reflect the fact this set of delimiters is used in multiple locations throughout the framework. BDPD.BEAN_NAME_DELIMITERS now refers to the above and has been has been preserved but deprecated for backward compat (though use outside the framework is unlikely). Changes originally based on user comment at http://blog.springsource.com/2011/02/11/spring-framework-3-1-m1-released/comment-page-1/#comment-184455 Issue: SPR-8033
-