⭐ New Features
- Push the Java 5 simplifications in SimpleJdbcTemplate up to JdbcTemplate [SPR-6858] #11524
- Documentation on Spring-Struts 1 integration needs to be updated [SPR-6855] #11521
- add varags constructor for ClassPathXmlApplicationContext and FileSystemXmlApplicationContext [SPR-6849] #11515
- HttpMessageConverter read and write methods have restrictive type annotations [SPR-6848] #11514
- Improve documentation on "Instantiation using an instance factory method" [SPR-6846] #11512
- factory-method - improve error message when method is not static [SPR-6837] #11503
- Add setStripTrailingSlash to DefaultRequestToViewNameTranslator [SPR-6830] #11496
- Allow SpEl expressions to be evaluated from JSPs [SPR-6827] #11493
- Update PagedListHolder with generics [SPR-6825] #11491
@Transactional
("transactionManager") and logging [SPR-6811] #11477@Transactional
("transactionManager") and error handling [SPR-6810] #11476- AbstractRoutingDataSource should only use defaultTargetDataSource on key null and should fail-fast on a non-existing key [SPR-6809] #11475
- Hibernate cache SPI integration -> LocalRegionFactoryProxy does not implement Hibernate 3.5's getDefaultAccessType() [SPR-6805] #11471
- form input tag disabled attribute only works for string input [SPR-6790] #11456
- Use of non-existing JmsTemplate constructor in documentation's sample code [SPR-6789] #11455
- The class MediaType has a natural ordering that is inconsistent with equals, which is generally recommended or should otherwise at least be indicated in the javadoc [SPR-6788] #11454
- Improve message error when the MarshallingView modelKey attribute is not valid [SPR-6785] #11451
- BeanNameAutoProxyCreator does not work if the given beanNames are ses [SPR-6774] #11440
- HttpMessageConverter should accept Class<? extends T> on can read [SPR-6771] #11437
- Need detailed log for start and stop Lifecycle beans [SPR-6769] #11435
- LinkedMultiValueMap should implement Serializable [SPR-6765] #11431
- ReflectiveMethodResolver should provide a MethodFilter strategy [SPR-6764] #11430
- Enable more control of StandardEvaluationContext strategies [SPR-6763] #11429
- Use "cyclic" instead of "recursive" in BeanDefinitionStoreException "Detected recursive loading of class path resource" [SPR-6755] #11421
- A matched null "default converter" results in a confusing log message [SPR-6746] #11412
- Could not autowire field of type org.springframework.web.context.request.WebRequest [SPR-6727] #11393
- DataBinder setAutoGrowNestedPaths call should work reliably [SPR-6718] #11384
- Spring 3.0 not compatible with Hibernate 3.5 beta3 [SPR-6705] #11371
- It is necessary to add support UUID type in Spring MVC (WebDataBinder) [SPR-6696] #11362
- SpringORM - Scoped proxies for EntityManager injected with
@PersistenceContext
[SPR-6684] #11350 - Spring beans in singleton scope are ignoring default component-scan scoped-proxy configuration [SPR-6683] #11349
- Spring AOP proxies with annotation based pointcuts are not serializable [SPR-6681] #11347
- Spring beans annotated with
@Transactional
are not serializable [SPR-6680] #11346 - Provide PersistenceAnnotationBeanPostProcessor without JNDI dependency. [SPR-6679] #11345
@Scheduled
annotation should support property placeholder values [SPR-6670] #11336- Add support for
@Scheduled
as a meta-annotation [SPR-6669] #11335 - Make comment prefix configurable in ResourceDatabasePopulator [SPR-6667] #11333
- Allowing a flexible reference to JBoss Work Manager [SPR-6648] #11314
- Make interface signature check optional in PersistenceExceptionTranslationInterceptor so it can translate all exceptions [SPR-6630] #11296
- Have ConversionFailedException store/expose the failed value [SPR-6629] #11295
- make private methods protected in DefaultLifecycleProcessor for extension [SPR-6617] #11283
- Map SQL Error code 50200 in H2 to CannotAcquireLockException [SPR-6612] #11278
- SpEL expression evaluation should rethrow (not wrap) RuntimeExceptions [SPR-6610] #11276
- java.lang.Object should count as a simple property, at least from the autowiring perspective [SPR-6600] #11266
- Make spring-aop required for spring-context (in spring-context POM) [SPR-6578] #11244
- MarshallingView auto detect model with Jaxb2Marshaller chooses the wrong object [SPR-6577] #11243
- MimeMailHelper mail address header fields are not encoded [SPR-6530] #11196
- Allow ContentNegotiatingViewResolver to be strict ant return a 406 if no view found [SPR-6467] #11133
- Add full support for JPA 2.0 PersistenceUnitInfo [SPR-6408] #11074
- Property Placeholder does not work for "concurrency" attribute for the jms namespace [SPR-6232] #10900
- TilesConfigurer does not support the new configuration model of Tiles 2.2 [SPR-6097] #10765
- Support late detection of ApplicationListener interface in objects returned from
@Bean
methods [SPR-6060] #10728 - Support Hessian 4.0.1 with Spring 3.0 [SPR-6041] #10710
- Generic getObjectType on FactoryBean should not be generic [SPR-5982] #10650
- Support Tiles 2.2 for Velocity and FreeMarker purposes [SPR-5609] #10280
- Provide BeanDefinitionRegistryPostProcessor lifecycle hook [SPR-5595] #10266
- Explain difference between and pros/cons of dependency injection vs dependency lookup [SPR-3786] #8466
- Reference manual - mention JSR-250 lifecycle annotations alongside other lifecycle mechanisms [SPR-3773] #8453
🪲 Bug Fixes
- org.springframework.web.servlet.tags.form.TagIdGenerator doesn't remove characters [] and double-quotes [SPR-5382] #10055
- RestTemplate throws IllegalArgumentException when HTTP status is not in the HttpStatus enum [SPR-6752] #11418
- TransactionSynchronizationUtils.unwrapResourceIfNecessary() does not unwrap OSGi service proxies [SPR-7368] #12026
- The MANIFESTs are importing packages from Spring distribution using [3.0.0, 3.0.1) version range [SPR-6868] #11534
- UriTemplate.expand() fails when value contains $ [SPR-6854] #11520
- Latest snapshot does not work with Tiles2 due to EL error [SPR-6852] #11518
- AbstractInterceptorDrivenBeanDefinitionDecorator NPE for bean definitions without direct class attribute [SPR-6842] #11508
- form:checkbox tag creates invalid HTML id when bound to indexed property [SPR-6840] #11506
- Unnecessary conversion to typed Map resulted in injection error (worked in 2.5.X) [SPR-6808] #11474
- ConversionService fails with CustomEditorConfigurer [SPR-6807] #11473
- Hibernate cache SPI integration -> LocalRegionFactoryProxy needs a LocalRegionFactoryProxy(Properties) constructor [SPR-6804] #11470
- Problem with initialization of ConversionService and custom converters [SPR-6800] #11466
- When form:select binds a collection, the formatter are not used. [SPR-6799] #11465
- ResourceScriptSource uses platform default charset (getScriptAsString) [SPR-6794] #11460
- Race condition between AbstractApplicationContext.close() and Spring's shutdownHook [SPR-6793] #11459
@RequestParam
,@CookieValue
and@RequestHeader
default-value and required are not in sync [SPR-6791] #11457- The method org.springframework.http.MediaType.parseMediaType does not always throw IllegalArgumentException as the documentantion claims [SPR-6786] #11452
- Dealing with multiple persistence units - Documentation Corrections [SPR-6781] #11447
- imported
@Configuration
classes do not get enhanced and fail to satisfy scoping requirements [SPR-6779] #11445 - significant memory consumption in 3.0 vs 2.x [SPR-6775] #11441
- JavaDoc example usage is incorrect for CronSequenceGenerator [SPR-6772] #11438
- Does not catch exception during stopping Lifecycle bean can cause resource leak [SPR-6770] #11436
- Typo in documentation: 25.4.3 The 'scheduled-tasks' element [SPR-6766] #11432
- SpEL evaluation for MethodReference causes multiple invocations when an Exception is thrown [SPR-6760] #11426
- Jetty 7 doesn't like ShallowEtagHeaderFilter [SPR-6759] #11425
- Documentation issue: spring-tomcat-weaver.jar and spring-instrument-tomcat.jar mentioned in reference documentation but don't exist [SPR-6753] #11419
- Typo in "Pooling target sources" paragraph of reference manual [SPR-6748] #11414
- SpEL does not expose field-level annotations when setting bean properties [SPR-6745] #11411
- FormattingConversionServiceFactoryBean.setConverters declares Set ParameterizedType restricting programmatic usage [SPR-6742] #11408
- (maven) dependency on spring-tx is declared optional, but JmsTempate does import some org.springframework.transaction. [SPR-6737] #11403
- Spring 3.0 ORM with JPA 2.0 TypedQuery ClassCastException [SPR-6733] #11399
- Snapshot Builds: Inconsistency in publishing betweeen EBR and Maven-Central compatible repository [SPR-6732] #11398
- EntityManager won't get closed when using SharedEntityManagerBean [SPR-6726] #11392
- reference doc, section 8.7 - ProxyFactory (AdvisedSupport) does not contain method addInterceptor [SPR-6725] #11391
- reference doc, section 8.5.2 - aopProxyFactory is not part of ProxyConfig [SPR-6723] #11389
- ConstructorResolver ignores exceptions when autowiring multiple constructors [SPR-6720] #11386
- Wrong information on single quote escaping in chapter 6.5.1 in reference documentation [SPR-6715] #11381
- Wrong method signature of GenericConverter interface in chapter 5.5.3 [SPR-6713] #11379
- restore request attributes after include [SPR-6712] #11378
- persistence_2_0.xsd not supported [SPR-6711] #11377
- Annotation-driven formatting does not work when BindTag's path contains a reference to an array/list element [SPR-6710] #11376
- NPE in InitDestroyAnnotationBeanPostProcessor [SPR-6700] #11366
- IBM WebSphere transactions not rolling back [SPR-6695] #11361
- Generic return type on FactoryBean.getObjectType causes problems [SPR-6692] #11358
- Broken link to "Method Injection" blog entry in spring reference manual [SPR-6691] #11357
- Reference docs, some sample strings unclosed [SPR-6687] #11353
@ResponseBody
throws HttpMediaTypeNotAcceptableException if client accepts "/" [SPR-6686] #11352- Wrong version in POMs (should be 3.0.1 now) [SPR-6678] #11344
- MapToMapConverter cannot handle unbounded wildcard Value type [SPR-6676] #11342
- Small Connection leak in DataSourceInitializer [SPR-6668] #11334
- CronTrigger/CronSequenceGenerator fails to handle daylight saving timezone changes [SPR-6666] #11332
- ScheduledAnnotationBeanPostProcessor registers schedules twice in web application [SPR-6656] #11322
- When using interfaces on controllers,
@SessionAttributes
doesn't work [SPR-6655] #11321 - PropertyPlaceholderConfigurer has Inconsistent Behavior between 2.5.6 and 3.0.0 [SPR-6654] #11320
- Bug in SpEL documentation [SPR-6652] #11318
- Request mapping incorrectly receiving all dispatches for a controller [SPR-6649] #11315
- PropertyPlaceholder does not work for
@ImportResource
in JavaConfig [SPR-6645] #11311 - The 'id' value from an 'executor' element in the task namespace should be used as the thread name prefix [SPR-6644] #11310
- PathVariable does not work properly after updated to 3.0 GA [SPR-6640] #11306
- Error in JavaConfig sample code - Paragraph 3.11.2.2 Building the container programmatically [SPR-6638] #11304
- Error in JavaConfig sample code [SPR-6637] #11303
- TransactionSynchronizationUtils.unwrapResourceIfNecessary() overwrites InfrastructureProxy.getWrappedObject() results [SPR-6625] #11291
- AbstractApplicationEventMulticaster.removeApplicationListener does not consider retrieverCache [SPR-6624] #11290
- WebUtils tries to set internal attributes [SPR-6623] #11289
- An error in documentation [SPR-6619] #11285
- Cannot override bean in Spring 3 JavaConfig [SPR-6618] #11284
@Value
does not work with AnnotationConfigApplicationContext [SPR-6611] #11277- Tiles 2 and Spring MVC 3RC3 : java.lang.ClassCastException: org.apache.tiles.web.util.ServletContextAdapter [SPR-6606] #11272
- Calls to FactoryBean
@Bean
methods cause ClassCastException [SPR-6602] #11268 @RequestMapping
no longer seems to support multiple directory matching (**/) [SPR-6598] #11264- Parameterized ApplicationListener does not work with AOP proxies [SPR-6596] #11262
- context:component-scan broken for Eclipse/Equinox after upgrade to Spring 3.0 [SPR-6592] #11258
- onApplicationEvent called twice for ApplicationListener implemented in lang:bsh/lang:inline-script [SPR-6589] #11255
- applicationContext.getBeansWithAnnotation(Foo) does not work if you have any factory beans that are not singleton [SPR-6579] #11245
- MBeanClientInterceptor doesn't handle arrays of CompositeData [SPR-6548] #11214
- form:checkboxes doesn't use spring 3 converters for items comparison [SPR-6505] #11171
- AnnotationConfigApplicationContext does not detect BeanFactoryPostProcessor [SPR-6455] #11121
- Transaction management fails when using AspectJ and load-time weaving [SPR-6392] #11058
- JAX-WS intergation via SpringBeanAutowiringSupport doesn't work in Weblogic 10.3 [SPR-5652] #10323
- TransactionAwareInvocationHandler#toString is not returning generated string [SPR-5582] #10253
📔 Documentation
- Remove remaining reference to StandardScopes from the reference manual [SPR-6821] #11487
- mvc:annotation-driven not documented [SPR-6767] #11433
- Spring docs state inaccurately that Spring MVC tutorial ships in distribution [SPR-6757] #11423
- Section 8.2.4.1 Static pointcuts still contains reference to Perl5RegexpMethodPointcut [SPR-6721] #11387
- Missing
around two annotations [SPR-6659] #11325
- Typo in the Spring reference documentation (chapter 9. Testing) [SPR-6658] #11324
- Typo in the MVC documentation [SPR-6657] #11323
- The Reference Documentation 2.5.6 states that the AbstractController.handleRequest() method is final [SPR-6646] #11312
- Document configuring and exposing a ValidatorFactory not just a Validator [SPR-6609] #11275
- The reference document has wrong terminology that is 'static inner class'. [SPR-6608] #11274
- Reference manual - create table summarizing *Aware interfaces [SPR-3771] #8452
- Doc: Update ComponentBeanDefinitionParser example to work with nested child Components [SPR-3709] #8390
- Some documentation issues (Spring reference) [SPR-3673] #8354
- document logging [SPR-2282] #6971
- Doc: Hibernate3 OpenSessionInView and getCurrentSession() example [SPR-1625] #6322