Release Notes - Spring Framework - Version 3.0 M4 - HTML format

Bug

  • [SPR-5296] - DB2 buffer pool JDBC exception mischaracterized as non-transient
  • [SPR-5306] - executeAndReturnKey throws Exception with Derby
  • [SPR-5435] - SimpleJdbcCall doesn't retrieve out value from function call for MS SQLServer
  • [SPR-5535] - typo: AntPatchStringMatcher
  • [SPR-5540] - incorrect error message when arg conversion fails for factory-method
  • [SPR-5607] - Non-trivial NestedRuntimeException.getMessage() can cause deadlocks on OSGi
  • [SPR-5635] - AbstractJdbcInsert doesn't use insertTypes in doExecuteAndReturnKey()
  • [SPR-5699] - Test context framework: flush problems should lead to test exceptions instead of failures
  • [SPR-5716] - ReloadableResourceBundleMessageSource: filenames calculated incorrectly
  • [SPR-5717] - Typo in JavaDoc for Propagation.SUPPORTS
  • [SPR-5722] - The JDBC bundle has a non-optional import of org.hsqldb
  • [SPR-5723] - 3.0 M3 PDF documentation code examples extend beyond page margins
  • [SPR-5724] - Documentation for RESTful webservice examples slightly incorrect for 3.0.0.M3
  • [SPR-5725] - Typos in Spring REST documentation
  • [SPR-5726] - Unexpected @RequestMapping semantics when class-level and method-level mappings used together
  • [SPR-5729] - Converter throws NPE when accessing property values through SEL expression
  • [SPR-5731] - @Controller method order effects @RequestMapping behavior in ways not expected
  • [SPR-5748] - MarshallingHttpMessageConverter misspelled in Spring 3.0 Reference Documentation section 2.4.5.1
  • [SPR-5750] - Typo in references docs "4.12.5.4 Specifying bean scope" => "Lookup method injection", **PATCH INCLUDED**
  • [SPR-5761] - NPE in AbstractApplicationContext.toString() if servletContext.getServletContextName() returns null
  • [SPR-5765] - @RequestBody Annotation Not Extracting Content-Type
  • [SPR-5769] - HttpHeaders becomes case-sensitive without Commons Collections on the classpath
  • [SPR-5771] - SimpleJaxWsServiceExporter on Weblogic 10.3 cause "IllegalArgumentException: Cannot create URL for this address"
  • [SPR-5772] - Annotation handler method matching doesn't get method/param choice right
  • [SPR-5774] - UriTemplate not matching querystrings
  • [SPR-5786] - Spring 2.5's CollectionFactory class may require Java 6 to run on certain JVMs
  • [SPR-5788] - Wrong MSSQL Exception Translation - BadSqlGrammarException
  • [SPR-5790] - AbstractBeanFactory.getBean(String name, Object [] args) produces inconsistent behavior
  • [SPR-5798] - Documentation - Reference - Space missing
  • [SPR-5801] - org.springframework.jdbc has a mandatory dependency upon Apache Derby in its ivy.xml
  • [SPR-5804] - NullPointerException when using Maps as root objects
  • [SPR-5806] - Hessian2 does not work with Spring 3.0.0M3 with Hessian 3.2.1
  • [SPR-5809] - jta should be optional dependency of spring-context-support
  • [SPR-5819] - The generated class 'org.springframework.expression.spel.generated.SpringExpressionsParser' has a faulty constructor and throws a java.lang.NoSuchFieldError
  • [SPR-5820] - Spring web optional dependencies are not marked as optional in pom.xml
  • [SPR-5825] - ShallowEtagHeaderFilter doesn't work: response body is empty
  • [SPR-5830] - Embedded derby got ClassNotFoundException because EmbeddedDatabaseFactory is hardcoded to HSQL in default constructor
  • [SPR-5835] - CookieGenerator default max age value leads to expiration date back in 1977
  • [SPR-5837] - Backward compatibility broken with SimpleJdbcOperations.query() methods
  • [SPR-5844] - constructor resolution fails when using primitive arrays
  • [SPR-5846] - NullPointerException in GenericConversionService
  • [SPR-5851] - Set Maven repositories as non-snapshot
  • [SPR-5852] - 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-5880] - "Unexpected end of file from server" when adding serializable object to RemoteInvocation
  • [SPR-5886] - tiles2's AbstractSpringPreparerFactory's logic is wrong
  • [SPR-5899] - SPEL: Unable to pass null values to method calls
  • [SPR-5905] - SPEL: Accessing inner classes via T(Outer$Inner) throws ParseException
  • [SPR-5906] - EL replacement doesn't work in <prop/> value
  • [SPR-5908] - Unmatched quotes in documentation samples in SpEL chapter
  • [SPR-5911] - aop:scoped-proxy doesn't retain qualifiers
  • [SPR-5914] - ProfileValueUtils should enforce class-level usage of @IfProfileValue to override method-level usage
  • [SPR-5924] - REOPENED -PathVariable mappings are greedy over hard coded mappings
  • [SPR-5930] - NPE in FileEditor
  • [SPR-5932] - Singleton-scoped @Bean methods behave like prototypes in a Spring DM environment
  • [SPR-5945] - InitDestroyAnnotationBeanPostProcessor @PostConstruct method may not get called
  • [SPR-5949] - Weaving spring-aspects corrupts class causing bad class file, bad signature on compilation of unwoven sub-classes.
  • [SPR-5965] - Typo error in reference documentation - "What's new in Spring 3.0"
  • [SPR-5968] - Maven central POM for spring-web has wrong versions of dependencies and a missing dependency
  • [SPR-5969] - Tidy up Maven central POM for spring-context-support
  • [SPR-5970] - Tidy up Maven central POM for spring-webmvc
  • [SPR-5976] - Upgrade POMS to JUnit 4.6
  • [SPR-5977] - ContextLoader static logger causes early log4j initialization
  • [SPR-5978] - Broken ref to non-existing REST chapter in what's new section in reference guide
  • [SPR-5979] - Reference guide refers to non-existing type StandardScopes
  • [SPR-5987] - SingleConnectionFactory's resetConnection is causing deadlocks with underlying OracleAQ's JMS connection

New Feature

  • [SPR-3313] - Add @annotation to name constructor arguments allowing names to be placed in config
  • [SPR-4116] - Add support for a TestDatabaseFactory to spring-test
  • [SPR-4700] - Add single checkbox input macro for Velocity and Freemarker
  • [SPR-5256] - Move @ManagedMetric annotation to Spring JMX
  • [SPR-5469] - Support Hessian 3.2.1
  • [SPR-5633] - Portlet-version of @ExceptionHandler
  • [SPR-5640] - Reload the application context for each test in a class with a class level annotation
  • [SPR-5689] - Add TilesViewResolver to enable fallback if tiles definition does not exist
  • [SPR-5696] - Add execute(Object[] values) method to StoredProcedure
  • [SPR-5782] - BufferedImageHttpMessageConverter
  • [SPR-5812] - Custom regex matching for @PathVariable
  • [SPR-5823] - JSON HttpMessageConverter
  • [SPR-5853] - JSON formatting view for Spring MVC
  • [SPR-5870] - Add support for content negotiation based on a request parameter value
  • [SPR-5882] - accessibility feature on bean definitions
  • [SPR-5896] - Add support for multiple TransactionManagers using @Transactional annotation
  • [SPR-5953] - Allow SimpleMappingExceptionResolver to Resolve HTTP Status Codes
  • [SPR-5961] - Enable AbstractRequestLoggingFilter implementations to access the request body
  • [SPR-5988] - Add support for the @WebServiceProvider to the SimpleJaxWsServiceExporter
  • [SPR-6283] - Add transactionManager property to @Transactional configuration

Task

  • [SPR-5523] - Replace all 'package.html' artifacts with 'package-info.java'
  • [SPR-5740] - Missing " and code highlighting issue in first code sample on p-Namespace
  • [SPR-5741] - Dead link on method injection
  • [SPR-5742] - Code highlighting muddled in 4.3.7.2 Arbitrary method replacement
  • [SPR-5747] - Typos in Spring 3.0.x docs
  • [SPR-5753] - Typos in '7. Spring Expression Language' chapter
  • [SPR-5781] - Document usage of static imports for assertions in test examples
  • [SPR-5824] - Remove references to StandardScopes from the reference manual
  • [SPR-5887] - Upgrade the Spring TestContext Framework to JUnit 4.6
  • [SPR-5888] - Upgrade the Spring TestContext Framework to TestNG 5.9
  • [SPR-5889] - Include TestNG tests in the automated build process
  • [SPR-5895] - Upgrade to EasyMock 2.5.1
  • [SPR-5918] - Port tests to the org.springframework.aspects project
  • [SPR-5944] - Document potential false positives when testing ORM code

Improvement

  • [SPR-1887] - Attach tooling metadata to constructor arg definitions
  • [SPR-2121] - Provide ability to make aop:scoped-proxy prototypes and singletons truely serializable
  • [SPR-2675] - Service references in JSF session objects not restored when using persistent sessions
  • [SPR-3322] - Add a batchUpdate method to namedParameterJdbcTemplate
  • [SPR-3500] - ManagedResource Annotation is not annoted as Inherited
  • [SPR-3661] - Allow UrlBasedViewResolver to delegate if file not found
  • [SPR-3955] - support for multiple transaction managers with @Transactional / <tx:annotation-driven>
  • [SPR-4359] - Configuration namespace for scheduling
  • [SPR-4368] - @RequestMapping narrowing based on presence of command object
  • [SPR-4662] - Serialization of HibernateTransactionManager fails
  • [SPR-4702] - Support for @DirtiesContext at the test class level
  • [SPR-4739] - consider a simplified SimpleJdbcCall.execuFunction( Class<T> returnType, Object... params )
  • [SPR-4782] - SimpleJdbcInsert needs to understand synonyms!
  • [SPR-4927] - Return 405 instead of 404 when HTTP method is not supported
  • [SPR-5015] - XML import should support patterns for relative paths as well
  • [SPR-5135] - Injected HttpServletRequest object in session-scoped bean should transparently access current request
  • [SPR-5162] - Discrepancy between sql parsing in SimpleJdbcTemplate and NamedParameterJdbcTemplate when doing batchUpdates
  • [SPR-5181] - Problem when working with RichFaces (JSF) integrated into the spring with javax.faces.STATE_SAVING_METHOD=client.
  • [SPR-5343] - SpringExpressionsParser doesn't work with newer version of ANTLR
  • [SPR-5406] - Make Tiles 2 easier to configure in Spring MVC
  • [SPR-5411] - TilesConfigurer class no longer works with Tiles 2.1.1
  • [SPR-5455] - Write documentation for Spring 3.0 new annotations
  • [SPR-5622] - WebDataBinder type conversion failures should result in 400, not 500
  • [SPR-5664] - SPEL: Introduce a new null-safe access operator for properties
  • [SPR-5721] - Reduce cumulative JAR payload required for DI-only use cases (particularly ANTLR)
  • [SPR-5728] - Provide an JDBC Namespace to easily set up embedded database
  • [SPR-5732] - 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-5734] - JavaDocs are hard to read with fully qualified names for java.lang, java.util and other non-Spring classes
  • [SPR-5735] - Correct compiler settings in spring-parent pom.xml to allow build with Maven
  • [SPR-5738] - Integrate Derby into embedded database support
  • [SPR-5744] - @Required doesn't play nice with @Configuration and @Bean
  • [SPR-5745] - Support lazy initialization within Jaxb2 OXM classes
  • [SPR-5746] - Allow XStreamMarshaller subclasses to customise XStream object
  • [SPR-5752] - @Configurable BeanCurrentlyInCreationException logging causing confusion
  • [SPR-5758] - Handling of spaces and underscores in AbstractBeanPropertyRowMapper
  • [SPR-5760] - XStreamMarshaller can not activate XStream automatic annotations detection feature
  • [SPR-5766] - @ResponseBody
  • [SPR-5767] - Misleading error message in HandlerMethodInvoker.resolveRequestBody()
  • [SPR-5768] - Rearrange logic in ServletHandlerMethodInvoker.getModelAndView()
  • [SPR-5787] - org.hibernate.annotations.Entity ignored by AnnotationSessionFactoryBean
  • [SPR-5803] - Quartz dependency in context-support POM should be optional
  • [SPR-5808] - Make HttpMessageConverterExtractor top level class
  • [SPR-5816] - support non-lenient constructor injection
  • [SPR-5817] - support the new conversion system into the core container APIs
  • [SPR-5831] - MethodInvokingJobDetailFactoryBean does not set the result in JobContext
  • [SPR-5836] - RestTemplate - postForObject() method
  • [SPR-5838] - XstreamMarshaller does not support field aliasing
  • [SPR-5881] - primitive vs wrapper objects abiguity inside the container
  • [SPR-5885] - Spelling mistake in ContentNegotiatingViewResolver JavaDoc
  • [SPR-5894] - Reference Doc section 16.11.4 can include the new @RequestBody from 18.2.1.2
  • [SPR-5916] - TestContext/ContextConfiguration: inherit loader, not just locations.
  • [SPR-5920] - Simplify domain object dependency injection through use of generics
  • [SPR-5923] - HttpMessageConverter selection as a result of @ResponseBody should consider the requested content type
  • [SPR-5942] - MarshallingHttpMessageConverter should not require both marshaller and unmarshaller
  • [SPR-5975] - BufferedImageHttpMessageConverter doesn't work on Google AppEngine

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.