⭐ New Features
- Add transactionManager property to
@Transactional
configuration [SPR-6283] #10950 - Add support for the
@WebServiceProvider
to the SimpleJaxWsServiceExporter [SPR-5988] #10656 - BufferedImageHttpMessageConverter doesn't work on Google AppEngine [SPR-5975] #10643
- Enable AbstractRequestLoggingFilter implementations to access the request body [SPR-5961] #10629
- Allow SimpleMappingExceptionResolver to Resolve HTTP Status Codes [SPR-5953] #10621
- MarshallingHttpMessageConverter should not require both marshaller and unmarshaller [SPR-5942] #10611
- HttpMessageConverter selection as a result of
@ResponseBody
should consider the requested content type [SPR-5923] #10592 - Simplify domain object dependency injection through use of generics [SPR-5920] #10589
- TestContext/ContextConfiguration: inherit loader, not just locations. [SPR-5916] #10585
- Add support for multiple TransactionManagers using
@Transactional
annotation [SPR-5896] #10565 - Reference Doc section 16.11.4 can include the new
@RequestBody
from 18.2.1.2 [SPR-5894] #10563 - Spelling mistake in ContentNegotiatingViewResolver JavaDoc [SPR-5885] #10555
- accessibility feature on bean definitions [SPR-5882] #10552
- primitive vs wrapper objects abiguity inside the container [SPR-5881] #10550
- Add support for content negotiation based on a request parameter value [SPR-5870] #10539
- JSON formatting view for Spring MVC [SPR-5853] #10522
- XstreamMarshaller does not support field aliasing [SPR-5838] #10508
- RestTemplate - postForObject() method [SPR-5836] #10506
- MethodInvokingJobDetailFactoryBean does not set the result in JobContext [SPR-5831] #10501
- JSON HttpMessageConverter [SPR-5823] #10493
- support the new conversion system into the core container APIs [SPR-5817] #10487
- support non-lenient constructor injection [SPR-5816] #10486
- Custom regex matching for
@PathVariable
[SPR-5812] #10482 - Make HttpMessageConverterExtractor top level class [SPR-5808] #10478
- Quartz dependency in context-support POM should be optional [SPR-5803] #10473
- org.hibernate.annotations.Entity ignored by AnnotationSessionFactoryBean [SPR-5787] #10457
- BufferedImageHttpMessageConverter [SPR-5782] #10452
- Rearrange logic in ServletHandlerMethodInvoker.getModelAndView() [SPR-5768] #10438
- Misleading error message in HandlerMethodInvoker.resolveRequestBody() [SPR-5767] #10437
@ResponseBody
[SPR-5766] #10436- XStreamMarshaller can not activate XStream automatic annotations detection feature [SPR-5760] #10430
- Handling of spaces and underscores in AbstractBeanPropertyRowMapper [SPR-5758] #10428
@Configurable
BeanCurrentlyInCreationException logging causing confusion [SPR-5752] #10422- Allow XStreamMarshaller subclasses to customise XStream object [SPR-5746] #10416
- Support lazy initialization within Jaxb2 OXM classes [SPR-5745] #10415
@Required
doesn't play nice with@Configuration
and@Bean
[SPR-5744] #10414- Integrate Derby into embedded database support [SPR-5738] #10408
- Correct compiler settings in spring-parent pom.xml to allow build with Maven [SPR-5735] #10405
- JavaDocs are hard to read with fully qualified names for java.lang, java.util and other non-Spring classes [SPR-5734] #10404
- When no type conversion strategy is found on a
@Controller
handler method bind target, a 500 error code should be returned not a 400. [SPR-5732] #10402 - Provide an JDBC Namespace to easily set up embedded database [SPR-5728] #10398
- Reduce cumulative JAR payload required for DI-only use cases (particularly ANTLR) [SPR-5721] #10391
- Add execute(Object[] values) method to StoredProcedure [SPR-5696] #10366
- Add TilesViewResolver to enable fallback if tiles definition does not exist [SPR-5689] #10359
- SPEL: Introduce a new null-safe access operator for properties [SPR-5664] #10335
- Reload the application context for each test in a class with a class level annotation [SPR-5640] #10311
- Portlet-version of
@ExceptionHandler
[SPR-5633] #10304 - WebDataBinder type conversion failures should result in 400, not 500 [SPR-5622] #10293
- Write documentation for Spring 3.0 new annotations [SPR-5455] #10128
- TilesConfigurer class no longer works with Tiles 2.1.1 [SPR-5411] #10084
- Make Tiles 2 easier to configure in Spring MVC [SPR-5406] #10079
- SpringExpressionsParser doesn't work with newer version of ANTLR [SPR-5343] #10016
- Move
@ManagedMetric
annotation to Spring JMX [SPR-5256] #9930 - Problem when working with RichFaces (JSF) integrated into the spring with javax.faces.STATE_SAVING_METHOD=client. [SPR-5181] #9854
- Discrepancy between sql parsing in SimpleJdbcTemplate and NamedParameterJdbcTemplate when doing batchUpdates [SPR-5162] #9835
- Injected HttpServletRequest object in session-scoped bean should transparently access current request [SPR-5135] #9808
- XML import should support patterns for relative paths as well [SPR-5015] #9690
- Return 405 instead of 404 when HTTP method is not supported [SPR-4927] #9602
- SimpleJdbcInsert needs to understand synonyms! [SPR-4782] #9459
- consider a simplified SimpleJdbcCall.execuFunction( Class returnType, Object... params ) [SPR-4739] #9416
- Support for
@DirtiesContext
at the test class level [SPR-4702] #9379 - Add single checkbox input macro for Velocity and Freemarker [SPR-4700] #9377
- Serialization of HibernateTransactionManager fails [SPR-4662] #9339
@RequestMapping
narrowing based on presence of command object [SPR-4368] #9046- Configuration namespace for scheduling [SPR-4359] #9037
- Add support for a TestDatabaseFactory to spring-test [SPR-4116] #8795
- support for multiple transaction managers with
@Transactional
/ tx:annotation-driven [SPR-3955] #8635 - Allow UrlBasedViewResolver to delegate if file not found [SPR-3661] #8342
- ManagedResource Annotation is not annoted as Inherited [SPR-3500] #8183
- Add a batchUpdate method to namedParameterJdbcTemplate [SPR-3322] #8007
- Add
@annotation
to name constructor arguments allowing names to be placed in config [SPR-3313] #7998 - Service references in JSF session objects not restored when using persistent sessions [SPR-2675] #7364
- Provide ability to make aop:scoped-proxy prototypes and singletons truely serializable [SPR-2121] #6812
- Attach tooling metadata to constructor arg definitions [SPR-1887] #6580
🪲 Bug Fixes
- SingleConnectionFactory's resetConnection is causing deadlocks with underlying OracleAQ's JMS connection [SPR-5987] #10655
- Reference guide refers to non-existing type StandardScopes [SPR-5979] #10647
- Broken ref to non-existing REST chapter in what's new section in reference guide [SPR-5978] #10646
- ContextLoader static logger causes early log4j initialization [SPR-5977] #10645
- Upgrade POMS to JUnit 4.6 [SPR-5976] #10644
- Tidy up Maven central POM for spring-webmvc [SPR-5970] #10638
- Tidy up Maven central POM for spring-context-support [SPR-5969] #10637
- Maven central POM for spring-web has wrong versions of dependencies and a missing dependency [SPR-5968] #10636
- Typo error in reference documentation - "What's new in Spring 3.0" [SPR-5965] #10633
- Weaving spring-aspects corrupts class causing bad class file, bad signature on compilation of unwoven sub-classes. [SPR-5949] #10618
- InitDestroyAnnotationBeanPostProcessor
@PostConstruct
method may not get called [SPR-5945] #10614 - Singleton-scoped
@Bean
methods behave like prototypes in a Spring DM environment [SPR-5932] #10601 - NPE in FileEditor [SPR-5930] #10599
- REOPENED -PathVariable mappings are greedy over hard coded mappings [SPR-5924] #10593
- ProfileValueUtils should enforce class-level usage of
@IfProfileValue
to override method-level usage [SPR-5914] #10583 - aop:scoped-proxy doesn't retain qualifiers [SPR-5911] #10580
- Unmatched quotes in documentation samples in SpEL chapter [SPR-5908] #10577
- EL replacement doesn't work in value [SPR-5906] #10575
- SPEL: Accessing inner classes via T(Outer$Inner) throws ParseException [SPR-5905] #10574
- SPEL: Unable to pass null values to method calls [SPR-5899] #10568
- tiles2's AbstractSpringPreparerFactory's logic is wrong [SPR-5886] #10556
- "Unexpected end of file from server" when adding serializable object to RemoteInvocation [SPR-5880] #10549
- Embedded database support for H2 and HSQLDB does not work in an OSGi environment: JDBC bundle does not import org.hsqldb and org.h2 [SPR-5852] #10521
- Set Maven repositories as non-snapshot [SPR-5851] #10520
- NullPointerException in GenericConversionService [SPR-5846] #10515
- constructor resolution fails when using primitive arrays [SPR-5844] #10513
- Backward compatibility broken with SimpleJdbcOperations.query() methods [SPR-5837] #10507
- CookieGenerator default max age value leads to expiration date back in 1977 [SPR-5835] #10505
- Embedded derby got ClassNotFoundException because EmbeddedDatabaseFactory is hardcoded to HSQL in default constructor [SPR-5830] #10500
- ShallowEtagHeaderFilter doesn't work: response body is empty [SPR-5825] #10495
- Spring web optional dependencies are not marked as optional in pom.xml [SPR-5820] #10490
- The generated class 'org.springframework.expression.spel.generated.SpringExpressionsParser' has a faulty constructor and throws a java.lang.NoSuchFieldError [SPR-5819] #10489
- jta should be optional dependency of spring-context-support [SPR-5809] #10479
- Hessian2 does not work with Spring 3.0.0M3 with Hessian 3.2.1 [SPR-5806] #10476
- NullPointerException when using Maps as root objects [SPR-5804] #10474
- org.springframework.jdbc has a mandatory dependency upon Apache Derby in its ivy.xml [SPR-5801] #10471
- Documentation - Reference - Space missing [SPR-5798] #10468
- AbstractBeanFactory.getBean(String name, Object [] args) produces inconsistent behavior [SPR-5790] #10460
- Wrong MSSQL Exception Translation - BadSqlGrammarException [SPR-5788] #10458
- Spring 2.5's CollectionFactory class may require Java 6 to run on certain JVMs [SPR-5786] #10456
- UriTemplate not matching querystrings [SPR-5774] #10444
- Annotation handler method matching doesn't get method/param choice right [SPR-5772] #10442
- SimpleJaxWsServiceExporter on Weblogic 10.3 cause "IllegalArgumentException: Cannot create URL for this address" [SPR-5771] #10441
- HttpHeaders becomes case-sensitive without Commons Collections on the classpath [SPR-5769] #10439
@RequestBody
Annotation Not Extracting Content-Type [SPR-5765] #10435- NPE in AbstractApplicationContext.toString() if servletContext.getServletContextName() returns null [SPR-5761] #10431
- Typo in references docs "4.12.5.4 Specifying bean scope" => "Lookup method injection", PATCH INCLUDED [SPR-5750] #10420
- MarshallingHttpMessageConverter misspelled in Spring 3.0 Reference Documentation section 2.4.5.1 [SPR-5748] #10418
@Controller
method order effects@RequestMapping
behavior in ways not expected [SPR-5731] #10401- Converter throws NPE when accessing property values through SEL expression [SPR-5729] #10399
- Unexpected
@RequestMapping
semantics when class-level and method-level mappings used together [SPR-5726] #10396 - Typos in Spring REST documentation [SPR-5725] #10395
- Documentation for RESTful webservice examples slightly incorrect for 3.0.0.M3 [SPR-5724] #10394
- 3.0 M3 PDF documentation code examples extend beyond page margins [SPR-5723] #10393
- The JDBC bundle has a non-optional import of org.hsqldb [SPR-5722] #10392
- Typo in JavaDoc for Propagation.SUPPORTS [SPR-5717] #10387
- ReloadableResourceBundleMessageSource: filenames calculated incorrectly [SPR-5716] #10386
- Test context framework: flush problems should lead to test exceptions instead of failures [SPR-5699] #10369
- AbstractJdbcInsert doesn't use insertTypes in doExecuteAndReturnKey() [SPR-5635] #10306
- Non-trivial NestedRuntimeException.getMessage() can cause deadlocks on OSGi [SPR-5607] #10278
- incorrect error message when arg conversion fails for factory-method [SPR-5540] #10211
- typo: AntPatchStringMatcher [SPR-5535] #10206
- SimpleJdbcCall doesn't retrieve out value from function call for MS SQLServer [SPR-5435] #10109
- executeAndReturnKey throws Exception with Derby [SPR-5306] #9979
- DB2 buffer pool JDBC exception mischaracterized as non-transient [SPR-5296] #9969
📔 Documentation
- Document potential false positives when testing ORM code [SPR-5944] #10613
- Document usage of static imports for assertions in test examples [SPR-5781] #10451
- Typos in '7. Spring Expression Language' chapter [SPR-5753] #10423
- Typos in Spring 3.0.x docs [SPR-5747] #10417
- Code highlighting muddled in 4.3.7.2 Arbitrary method replacement [SPR-5742] #10412
- Dead link on method injection [SPR-5741] #10411
- Missing " and code highlighting issue in first code sample on p-Namespace [SPR-5740] #10410
- Replace all 'package.html' artifacts with 'package-info.java' [SPR-5523] #10194