📄 changelog.txt
字号:
SPRING FRAMEWORK CHANGELOG
==========================
http://www.springframework.org
Changes in version 2.5.5 (2008-06-23)
-------------------------------------
General
* fixed SCM URL in Maven POMs
* "-with-dependencies" distribution includes "jarcontent" folder now (needed for building from the source)
* upgraded to Quartz 1.6.1 (includes a fix for the Spring trigger persistence problem that was introduced in 1.6.0)
* upgraded to Hibernate 3.3.0 (while retaining compatibility with Hibernate 3.1/3.2)
* upgraded to iBATIS SQL Maps 2.3.2 (while retaining compatibility with iBATIS 2.3.0)
Package org.springframework.aop
* added "proxyClassLoader" property to ProxyFactoryBean, AbstractSingletonProxyFactoryBean and AbstractAutoProxyCreator
* CustomizableTraceInterceptor hides proxy class names even in log replacement strings (if hideProxyClassNames=true)
* CustomizableTraceInterceptor properly escapes all "\" and "$" symbols in replacement values
Package org.springframework.beans
* revised GenericTypeAwarePropertyDescriptor for compatibility with IBM's JDK 1.6 (avoiding NPE)
* TypeMismatchException shows type description for mismatching JDK proxy values (listing their implemented interfaces)
* CustomNumberEditor explicitly removes all inline whitespace from input Strings (for compatibility with French locales)
* added "getDescription()" method to BeanDefinition interface (exposing the value of the XML bean description element)
* AbstractFactoryBean uses bean ClassLoader for the generation of early singleton proxies
* PropertyPlaceholderConfigurer correctly manages resolution of set entries and map keys with modified hash code
* fixed DefaultSingletonBeanRegistry's singleton exposure to remove singleton factory after creation of singleton object
* DefaultSingletonBeanRegistry only exposes related causes on outermost creation exception (avoiding excessive logging)
* DefaultSingletonBeanRegistry only registers same related cause (i.e. same message, same chained cause) once
* DefaultListableBeanFactory only registers causes during constructor resolution when resolution eventually fails
* DefaultListableBeanFactory checks primary attribute in bean definitions of parent factory as well
* fixed DefaultListableBeanFactory to use a post-processing lock (for proper synchronization of annotation scanning)
* dependency check "simple" accepts Number, Date, URI, URL and Locale as well (consistent with simple MVC value types)
* UnsatisfiedDependencyException preserves full nested exception stacktrace in case of a BeansException
* added overloaded BeanComponentDefinition constructor with aliases argument
* GenericBeanFactoryAccessor's "getBeansWithAnnotation" performs deep search (including interfaces and target class)
* added "findAnnotationOnBean" method to GenericBeanFactoryAccessor, performing a deep search on a specific bean
* BeanConfigurerSupport (@Configurable processing) includes type of bean in warn log when called in unconfigured state
* restored BeanConfigurerSupport's silent skipping in case of no BeanFactory configured yet
Package org.springframework.context
* factored out MessageSourceSupport base class from AbstractMessageSource, providing common MessageFormat handling
* DelegatingMessageSource resolves message arguments in default messages even if there is no parent MessageSource
* MessageSourceResourceBundle exposes Spring-specified locale through overridden "ResourceBundle.getLocale()" method
* revised CommonAnnotationBeanPostProcessor's "getResource" method to allow for proper overriding in subclasses
* ClassPathBeanDefinitionScanner always accepts explicit bean definition of same name as override for scanned bean
* added type="custom" expression="<classname>" option to component-scan's "include-filter"/"exclude-filter"
* component-scan's "include-filter"/"exclude-filter" entries are validated individually (for Spring IDE)
Package org.springframework.core
* added assertions to GenericTypeResolver (avoiding NPEs)
* factored out generic ConfigurableObjectInputStream class from CodebaseAwareObjectInputStream in RMI support
* re-enabled PathMatchingResourcePatternResolver's JarURLConnection handling (accidentally disabled in 2.5.4)
Package org.springframework.ejb
* "jee:local/remote-slsb" accepts plain object returned from EJBHome create method (for JBoss 4.2 EJB3 compatibility)
* added "exposeAccessContext" flag to AbstractSlsbInvokerInterceptor, for WebLogic resource factories with authorization
* added "expose-access-context" flag to "jee:local-slsb", "jee:remote-slsb" and "jee:jndi-lookup"
Package org.springframework.jdbc
* added SimpleDriverDataSource alternative to DriverManagerDataSource, avoiding class loading and synchronization issues
* BeanPropertySqlParameterSource uses specific integer/decimal SQL types by default now (e.g. TINYINT, BIGINT, DOUBLE)
* introduced SqlXmlHandler abstraction (for the XML support in the Advanced Pack for Oracle Database)
* added further SQL error code mapping for MS SQL Server
Package org.springframework.jms
* SingleConnectionFactory and TransactionAwareConnectionFactoryProxy use JMS API ClassLoader for proxy generation
* JmsTemplate properly allows for overriding "getDefaultDestination()" and "getDefaultDestinationName()"
* AbstractJmsListeningContainer sets Connection to null on shutdown, allowing for smooth reinitialization
* DefaultMessageListenerContainer performs lazy setup in case of any connection exception (also JNDI lookup failure)
* DefaultMessageListenerContainer is able to recover all cases where the provider is not available on startup
* fixed DefaultMessageListenerContainer to avoid race condition when stopping through lock on unified monitor
* added "container-class" attribute to "jms:listener-container" element, for specifying a custom implementation class
* MessageListenerAdapter and JmsInvokerServiceExporter use message id as correlation id if no request correlation id set
Package org.springframework.jmx
* MBeanExporter performs default MBeanServer lookup even when registering notification listeners only
Package org.springframework.jndi
* added "exposeAccessContext" flag to JndiObjectFactoryBean, for WebLogic resource factories with authorization
Package org.springframework.mail
* removed overlapping "application/x-pointplus" MIME type for "css" extension from MimeMessageHelper's default mappings
Package org.springframework.orm
* improved HibernateTransactionManager's InvalidIsolationLevelException exception message (-> SpringTransactionFactory)
* added "hibernateManagedSession" flag to HibernateTransactionManager, for working with a custom CurrentSessionContext
* documented use of Hibernate StatelessSession with Spring's DataSourceTransactionManager/HibernateTransactionManager
* added support for Derby and H2 through Hibernate/OpenJpa/TopLink/EclipseLinkJpaVendorAdapter's "database" property
* Hibernate/TopLink/JDO/JPA proxy classes are generated in the ORM provider's ClassLoader (for full visibility in OSGi)
* Spring-enriched JPA proxies are created in the application's ClassLoader (making any vendor interfaces work in OSGi)
* fixed AbstractEntityManagerFactoryBean's EMF proxy to handle equals/hashCode locally (for correct equals behavior)
* iBATIS SqlMapClientFactoryBean supports multiple sql-map-config files and also patterns ("configLocations" property)
* iBATIS SqlMapClientFactoryBean supports Spring resource/pattern lookup of sql-map files ("mappingLocations" property)
Package org.springframework.remoting
* RemoteAccessException explicitly declares serialVersionUID (for serialization compatibility on WebLogic)
* (Simple)HttpInvokerServiceExporter uses the ClassLoader of the containing BeanFactory for deserialization
* fixed JaxWsClientInterceptor to throw a RemoteConnectFailureException (if applicable) instead of returning it
* added support for "username"/"password"/"maintainSession"/"useSoapAction"/etc properties to JaxWsClientInterceptor
* added SimpleHttpServerJaxWsServiceExporter, allowing for exposure through a fully configurable Sun JDK 1.6 HttpServer
* added "filters" and "authenticator" property to SimpleHttpServerFactoryBean for Sun's JDK 1.6 HttpServer
* revised HessianExporter's "debug" feature to work on Hessian 3.0.20+ as well (with input debugging only)
Package org.springframework.scheduling
* SchedulerFactoryBean's "jobSchedulingDataLocation" feature is compatible with Quartz 1.6.1 now (requiring 1.6.1+)
Package org.springframework.scripting
* ScriptFactoryPostProcessor ignores any "predictBeanType" failure (in particular reference to currently created bean)
* GroovyScriptFactory also converts CompilationFailedException to ScriptCompilationException during type determination
Package org.springframework.test
* added "prepareApplicationContext(GenericApplicationContext)" template method to AbstractSingleSpringContextTests
* added "prepareContext(GenericApplicationContext)" template method to AbstractGenericContextLoader
* removed unnecessary "throws Exception" declarations from ReflectionTestUtils
* added "getField" and "invokeGetterMethod" methods to ReflectionTestUtils
Package org.springframework.transaction
* transactional resource synchronization works even for operations triggered during commit (e.g. by JPA PostUpdate)
* strengthened warning regarding @Transactional use on interfaces versus classes
* "tx:annotation-driven" registers revised TransactionAttributeSourceAdvisor, initializing TransactionInterceptor lazily
Package org.springframework.util
* publicly exposed "isVisible" method on ClassUtils
* added "getField" and simple "findField" method to ReflectionUtils
* NumberUtils avoids overflow when converting from BigDecimal to BigInteger
* NumberUtils automatically supports JDK 1.5+ localized BigDecimal parsing
* added various overloaded methods with a CharSequence argument (as alternative to a String argument) to StringUtils
* removed Commons Log usage from SystemPropertyUtils, ClassUtils, FileCopyUtils (avoiding early Log4J initialization)
* revised CachingMapDecorator to expose all state representations in a thread-safe manner, even for pure introspection
* revised CachingMapDecorator to use weak references for caching only (not losing a value from get)
Package org.springframework.validation
* fixed DefaultBindingErrorProcessor to register correct "missing field" errors within specified nested path
Package org.springframework.web
* revised RequestAttributes access from child threads in order to not touch the request object after request completion
* DispatcherServlet exposes the Servlet spec's error attributes to error views (for JSP error page compatibility)
* HandlerMethodInvoker does not eagerly copy entire model Map in order to avoid lazy initialization of attribute values
* Servlet AnnotationMethodHandlerAdapter throws ambiguity exception in case of equivalent mappings with same method name
* Portlet AbstractMapBasedHandlerMapping sorts predicates before checking them (according to their natural order)
* Portlet DefaultAnnotationHandlerMapping checks default mappings last, independent from order of controller definition
* RedirectView uses request's encoding (default ISO-8859-1) if no encoding scheme specified (previous default was UTF-8)
* RedirectView considers arrays and collections with eligible values, turning them into multi-value request parameters
* RedirectView accepts StringBuffers, StringBuilders, Numbers, Dates, URIs, URLs and Locales as eligible values as well
* factored out common temporary byte array handling from AbstractPdfView etc into AbstractView base class
* added AbstractPdfStamperView as alternative to AbstractPdfView, operating on an existing document with an AcroForm
* fixed AbstractJasperReportsView to fully isolate a model-specified JDBC DataSource (not setting it as view DataSource)
* AbstractJasperReportsView gives specified JDBC DataSource precedence over implicit report data value in model
* AbstractJasperReportsView proceeds without report data value in case of multiple collections or object arrays
* added "autocomplete" attribute to JSP FormTag (for a form-wide setting, as alternative to InputTag's "autocomplete")
* JSF DelegatingVariableResolver and SpringBeanFacesELResolver log resolution success at trace level only
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -