| Deprecated Classes | 
| org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests as of Spring 3.0, in favor of using the listener-based test context framework
 (
 AbstractJUnit38SpringContextTests) | 
| org.springframework.test.jpa.AbstractAspectjJpaTests as of Spring 3.0, in favor of using the listener-based test context framework
 (
 AbstractJUnit38SpringContextTests) | 
| org.springframework.core.enums.AbstractCachingLabeledEnumResolver as of Spring 3.0, in favor of Java 5 enums.
 | 
| org.springframework.web.portlet.mvc.AbstractCommandController as of Spring 3.0, in favor of annotated controllers
 | 
| org.springframework.web.servlet.mvc.AbstractCommandController as of Spring 3.0, in favor of annotated controllers
 | 
| org.springframework.test.AbstractDependencyInjectionSpringContextTests as of Spring 3.0, in favor of using the listener-based test context framework
 (
 AbstractJUnit38SpringContextTests) | 
| org.springframework.web.portlet.mvc.AbstractFormController as of Spring 3.0, in favor of annotated controllers
 | 
| org.springframework.web.servlet.mvc.AbstractFormController as of Spring 3.0, in favor of annotated controllers
 | 
| org.springframework.core.enums.AbstractGenericLabeledEnum as of Spring 3.0, in favor of Java 5 enums.
 | 
| org.springframework.test.jpa.AbstractJpaTests as of Spring 3.0, in favor of using the listener-based test context framework
 (
 AbstractJUnit38SpringContextTests) | 
| org.springframework.core.enums.AbstractLabeledEnum as of Spring 3.0, in favor of Java 5 enums.
 | 
| org.springframework.test.web.AbstractModelAndViewTests as of Spring 3.0, in favor of using the listener-based test context framework
 (
 AbstractJUnit38SpringContextTests)
 orModelAndViewAssertwith JUnit 4 and TestNG. | 
| org.springframework.test.AbstractSingleSpringContextTests as of Spring 3.0, in favor of using the listener-based test context framework
 (
 AbstractJUnit38SpringContextTests) | 
| org.springframework.test.AbstractSpringContextTests as of Spring 3.0, in favor of using the listener-based test context framework
 (
 AbstractJUnit38SpringContextTests) | 
| org.springframework.test.AbstractTransactionalDataSourceSpringContextTests as of Spring 3.0, in favor of using the listener-based test context framework
 (
 AbstractJUnit38SpringContextTests) | 
| org.springframework.test.AbstractTransactionalSpringContextTests as of Spring 3.0, in favor of using the listener-based test context framework
 (
 AbstractJUnit38SpringContextTests) | 
| org.springframework.web.portlet.mvc.AbstractWizardFormController as of Spring 3.0, in favor of annotated controllers
 | 
| org.springframework.web.servlet.mvc.AbstractWizardFormController as of Spring 3.0, in favor of annotated controllers
 | 
| org.springframework.web.servlet.view.xslt.AbstractXsltView since Spring 2.5; superseded by
 XsltViewand its
 more flexibleXsltView.locateSource(java.util.Map)mechanism | 
| org.springframework.web.struts.ActionSupport as of Spring 3.0
 | 
| org.springframework.test.AssertThrows favor use of JUnit 4's
 @Test(expected=...)support | 
| org.springframework.web.struts.AutowiringRequestProcessor as of Spring 3.0
 | 
| org.springframework.web.struts.AutowiringTilesRequestProcessor as of Spring 3.0
 | 
| org.springframework.web.portlet.mvc.BaseCommandController as of Spring 3.0, in favor of annotated controllers
 | 
| org.springframework.web.servlet.mvc.BaseCommandController as of Spring 3.0, in favor of annotated controllers
 | 
| org.springframework.web.servlet.mvc.CancellableFormController as of Spring 3.0, in favor of annotated controllers
 | 
| org.springframework.web.servlet.view.tiles.ComponentControllerSupport as of Spring 3.0
 | 
| org.springframework.test.ConditionalTestCase as of Spring 3.0, in favor of using the listener-based test context framework
 (
 AbstractJUnit38SpringContextTests) | 
| org.springframework.web.struts.ContextLoaderPlugIn as of Spring 3.0
 | 
| org.springframework.jms.listener.DefaultMessageListenerContainer102 as of Spring 3.0, in favor of the JMS 1.1 based
 DefaultMessageListenerContainer | 
| org.springframework.web.struts.DelegatingActionProxy as of Spring 3.0
 | 
| org.springframework.web.struts.DelegatingActionUtils as of Spring 3.0
 | 
| org.springframework.web.struts.DelegatingRequestProcessor as of Spring 3.0
 | 
| org.springframework.web.struts.DelegatingTilesRequestProcessor as of Spring 3.0
 | 
| org.springframework.scheduling.timer.DelegatingTimerTask as of Spring 3.0, in favor of the
 scheduling.concurrentpackage which is based on Java 5'sjava.util.concurrent.ExecutorService | 
| org.springframework.web.struts.DispatchActionSupport as of Spring 3.0
 | 
| org.springframework.remoting.jaxrpc.JaxRpcPortClientInterceptor in favor of JAX-WS support in
 org.springframework.remoting.jaxws | 
| org.springframework.remoting.jaxrpc.JaxRpcPortProxyFactoryBean in favor of JAX-WS support in
 org.springframework.remoting.jaxws | 
| org.springframework.jms.core.JmsTemplate102 as of Spring 3.0, in favor of the JMS 1.1 based
 JmsTemplate | 
| org.springframework.jms.connection.JmsTransactionManager102 as of Spring 3.0, in favor of the JMS 1.1 based
 JmsTransactionManager | 
| org.springframework.core.enums.LetterCodedLabeledEnum as of Spring 3.0, in favor of Java 5 enums.
 | 
| org.springframework.remoting.jaxrpc.LocalJaxRpcServiceFactory in favor of JAX-WS support in
 org.springframework.remoting.jaxws | 
| org.springframework.remoting.jaxrpc.LocalJaxRpcServiceFactoryBean in favor of JAX-WS support in
 org.springframework.remoting.jaxws | 
| org.springframework.web.struts.LookupDispatchActionSupport as of Spring 3.0
 | 
| org.springframework.web.struts.MappingDispatchActionSupport as of Spring 3.0
 | 
| org.springframework.jms.listener.adapter.MessageListenerAdapter102 as of Spring 3.0, in favor of the JMS 1.1 based
 MessageListenerAdapter | 
| org.springframework.scheduling.timer.MethodInvokingTimerTaskFactoryBean as of Spring 3.0, in favor of the
 scheduling.concurrentpackage which is based on Java 5'sjava.util.concurrent.ExecutorService | 
| org.springframework.scheduling.timer.ScheduledTimerTask as of Spring 3.0, in favor of the
 scheduling.concurrentpackage which is based on Java 5'sjava.util.concurrent.ExecutorService | 
| org.springframework.web.context.support.ServletContextFactoryBean as of Spring 3.0, since "servletContext" is now available
 as a default bean in every WebApplicationContext
 | 
| org.springframework.remoting.jaxrpc.ServletEndpointSupport in favor of JAX-WS support in
 org.springframework.remoting.jaxws | 
| org.springframework.core.enums.ShortCodedLabeledEnum as of Spring 3.0, in favor of Java 5 enums.
 | 
| org.springframework.web.portlet.mvc.SimpleFormController as of Spring 3.0, in favor of annotated controllers
 | 
| org.springframework.web.servlet.mvc.SimpleFormController as of Spring 3.0, in favor of annotated controllers
 | 
| org.springframework.jms.support.converter.SimpleMessageConverter102 as of Spring 3.0, in favor of the JMS 1.1 based
 SimpleMessageConverter | 
| org.springframework.jms.listener.SimpleMessageListenerContainer102 as of Spring 3.0, in favor of the JMS 1.1 based
 SimpleMessageListenerContainer | 
| org.springframework.jms.connection.SingleConnectionFactory102 as of Spring 3.0, in favor of the JMS 1.1 based
 SingleConnectionFactory | 
| org.springframework.web.struts.SpringBindingActionForm as of Spring 3.0
 | 
| org.springframework.core.enums.StaticLabeledEnum as of Spring 3.0, in favor of Java 5 enums.
 | 
| org.springframework.core.enums.StaticLabeledEnumResolver as of Spring 3.0, in favor of Java 5 enums.
 | 
| org.springframework.core.enums.StringCodedLabeledEnum as of Spring 3.0, in favor of Java 5 enums.
 | 
| org.springframework.web.servlet.view.tiles.TilesConfigurer as of Spring 3.0
 | 
| org.springframework.web.servlet.view.tiles.TilesJstlView as of Spring 3.0
 | 
| org.springframework.web.servlet.view.tiles.TilesView as of Spring 3.0
 | 
| org.springframework.scheduling.timer.TimerFactoryBean as of Spring 3.0, in favor of the
 scheduling.concurrentpackage which is based on Java 5'sjava.util.concurrent.ExecutorService | 
| org.springframework.scheduling.timer.TimerTaskExecutor as of Spring 3.0, in favor of the
 scheduling.concurrentpackage which is based on Java 5'sjava.util.concurrent.ExecutorService | 
 
| Deprecated Methods | 
| org.springframework.aop.framework.AdvisedSupport.addAllAdvisors(Advisor[]) as of Spring 3.0, in favor of
 AdvisedSupport.addAdvisors(org.springframework.aop.Advisor...) | 
| org.springframework.ui.ModelMap.addAllObjects(Collection) as of Spring 2.5, in favor of
 ModelMap.addAllAttributes(Collection) | 
| org.springframework.ui.ModelMap.addAllObjects(Map) as of Spring 2.5, in favor of
 ModelMap.addAllAttributes(Map) | 
| org.springframework.beans.factory.support.BeanDefinitionBuilder.addConstructorArg(Object) since Spring 2.5, in favor of
 BeanDefinitionBuilder.addConstructorArgValue(java.lang.Object) | 
| org.springframework.jdbc.core.simple.AbstractJdbcCall.addDeclaredRowMapper(String, ParameterizedRowMapper) in favor of
 AbstractJdbcCall.addDeclaredRowMapper(String, org.springframework.jdbc.core.RowMapper) | 
| org.springframework.context.support.AbstractApplicationContext.addListener(ApplicationListener) as of Spring 3.0, in favor of
 AbstractApplicationContext.addApplicationListener(org.springframework.context.ApplicationListener) | 
| org.springframework.ui.ModelMap.addObject(Object) as of Spring 2.5, in favor of
 ModelMap.addAttribute(Object) | 
| org.springframework.ui.ModelMap.addObject(String, Object) as of Spring 2.5, in favor of
 ModelMap.addAttribute(String, Object) | 
| org.springframework.web.bind.WebDataBinder.bindMultipartFiles(Map, MutablePropertyValues) as of Spring 3.0, in favor of
 WebDataBinder.bindMultipart(java.util.Map>, org.springframework.beans.MutablePropertyValues)which binds
 all multipart files, even if more than one sent for the same name | 
| org.springframework.core.CollectionFactory.createConcurrentMap(int) as of Spring 3.0, for usage on JDK 1.5 or higher
 | 
| org.springframework.core.CollectionFactory.createConcurrentMapIfPossible(int) as of Spring 3.0, for usage on JDK 1.5 or higher
 | 
| org.springframework.web.context.ContextLoaderListener.createContextLoader() in favor of simply subclassing ContextLoaderListener itself
 (which extends ContextLoader, as of Spring 3.0)
 | 
| org.springframework.core.CollectionFactory.createCopyOnWriteSet() as of Spring 3.0, for usage on JDK 1.5 or higher
 | 
| org.springframework.core.CollectionFactory.createIdentityMapIfPossible(int) as of Spring 2.5, for usage on JDK 1.4 or higher
 | 
| org.springframework.beans.factory.config.PropertiesFactoryBean.createInstance() as of Spring 3.0, in favor of
 PropertiesFactoryBean.createProperties() | 
| org.springframework.core.CollectionFactory.createLinkedCaseInsensitiveMapIfPossible(int) as of Spring 3.0, for usage on JDK 1.5 or higher
 | 
| org.springframework.core.CollectionFactory.createLinkedMapIfPossible(int) as of Spring 2.5, for usage on JDK 1.4 or higher
 | 
| org.springframework.core.CollectionFactory.createLinkedSetIfPossible(int) as of Spring 2.5, for usage on JDK 1.4 or higher
 | 
| org.springframework.remoting.rmi.RmiClientInterceptorUtils.doInvoke(MethodInvocation, Remote) as of Spring 2.5, in favor of
 RmiClientInterceptorUtils.invokeRemoteMethod(org.aopalliance.intercept.MethodInvocation, java.lang.Object) | 
| org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithListResult(SqlMapClientCallback ) as of Spring 3.0 - not really needed anymore with generic
 SqlMapClientTemplate.execute(org.springframework.orm.ibatis.SqlMapClientCallback)method | 
| org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithMapResult(SqlMapClientCallback as of Spring 3.0 - not really needed anymore with generic
 SqlMapClientTemplate.execute(org.springframework.orm.ibatis.SqlMapClientCallback)method | 
| org.springframework.test.annotation.AbstractAnnotationAwareTransactionalTests.findUniqueProfileValueSourceFromContext(ApplicationContext) Use
 @ProfileValueSourceConfigurationinstead. | 
| org.springframework.aop.config.AopNamespaceUtils.forceAutoProxyCreatorToUseClassProxying(BeanDefinitionRegistry) since Spring 2.5, in favor of
 AopConfigUtils.forceAutoProxyCreatorToUseClassProxying(BeanDefinitionRegistry) | 
| org.springframework.util.ClassUtils.forName(String) as of Spring 3.0, in favor of specifying a ClassLoader explicitly:
 see
 ClassUtils.forName(String, ClassLoader) | 
| org.springframework.web.context.ContextLoaderListener.getContextLoader() in favor of simply subclassing ContextLoaderListener itself
 (which extends ContextLoader, as of Spring 3.0)
 | 
| org.springframework.validation.DataBinder.getErrors() in favor of
 DataBinder.getBindingResult().
 Use theBindException.BindException(BindingResult)constructor
 to create a BindException instance if still needed. | 
| org.springframework.web.servlet.DispatcherServlet.getHandler(HttpServletRequest, boolean) as of Spring 3.0.4, in favor of
 DispatcherServlet.getHandler(javax.servlet.http.HttpServletRequest),
 with this method's cache attribute now effectively getting ignored | 
| org.springframework.remoting.rmi.RmiClientInterceptorUtils.invoke(MethodInvocation, Remote, String) as of Spring 2.5, in favor of
 RmiClientInterceptorUtils.invokeRemoteMethod(org.aopalliance.intercept.MethodInvocation, java.lang.Object) | 
| org.springframework.core.JdkVersion.isAtLeastJava14() as of Spring 3.0 which requires Java 1.5+
 | 
| org.springframework.core.JdkVersion.isAtLeastJava15() as of Spring 3.0 which requires Java 1.5+
 | 
| org.springframework.core.JdkVersion.isAtLeastJava16() as of Spring 3.0, in favor of reflective checks for
 the specific Java 1.6 classes of interest
 | 
| org.springframework.beans.factory.xml.AbstractSimpleBeanDefinitionParser.isEligibleAttribute(Attr) in favour of
 AbstractSimpleBeanDefinitionParser.isEligibleAttribute(org.w3c.dom.Attr, ParserContext) | 
| org.springframework.util.ClassUtils.isPresent(String) as of Spring 2.5, in favor of
 ClassUtils.isPresent(String, ClassLoader) | 
| org.springframework.transaction.interceptor.TransactionAspectSupport.methodIdentification(Method) in favor of
 TransactionAspectSupport.methodIdentification(Method, Class) | 
| org.springframework.beans.factory.support.AbstractBeanDefinition.overrideFrom(AbstractBeanDefinition) since Spring 2.5, in favor of
 AbstractBeanDefinition.overrideFrom(BeanDefinition) | 
| org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.parseStringValue(String, Properties, Set) as of Spring 3.0, in favor of using
 PropertyPlaceholderConfigurer.resolvePlaceholder(java.lang.String, java.util.Properties, int)withPropertyPlaceholderHelper.
 Only retained for compatibility with Spring 2.5 extensions. | 
| org.springframework.jdbc.core.simple.SimpleJdbcTemplate.query(String, ParameterizedRowMapper, Map) 
 | 
| org.springframework.jdbc.core.simple.SimpleJdbcOperations.query(String, ParameterizedRowMapper, Map) as of Spring 3.0: Use the method using the newly genericized RowMapper interface
 instead since the RowMapper and ParameterizedRowMapper interfaces are equivalent now.
 | 
| org.springframework.jdbc.core.simple.SimpleJdbcTemplate.query(String, ParameterizedRowMapper, Object...) 
 | 
| org.springframework.jdbc.core.simple.SimpleJdbcOperations.query(String, ParameterizedRowMapper, Object...) as of Spring 3.0: Use the method using the newly genericized RowMapper interface
 instead since the RowMapper and ParameterizedRowMapper interfaces are equivalent now.
 | 
| org.springframework.jdbc.core.simple.SimpleJdbcTemplate.query(String, ParameterizedRowMapper, SqlParameterSource) 
 | 
| org.springframework.jdbc.core.simple.SimpleJdbcOperations.query(String, ParameterizedRowMapper, SqlParameterSource) as of Spring 3.0: Use the method using the newly genericized RowMapper interface
 instead since the RowMapper and ParameterizedRowMapper interfaces are equivalent now.
 | 
| org.springframework.jdbc.core.simple.SimpleJdbcTemplate.queryForObject(String, ParameterizedRowMapper, Map) 
 | 
| org.springframework.jdbc.core.simple.SimpleJdbcOperations.queryForObject(String, ParameterizedRowMapper, Map) as of Spring 3.0: Use the method using the newly genericized RowMapper interface
 instead since the RowMapper and ParameterizedRowMapper interfaces are equivalent now.
 | 
| org.springframework.jdbc.core.simple.SimpleJdbcTemplate.queryForObject(String, ParameterizedRowMapper, Object...) 
 | 
| org.springframework.jdbc.core.simple.SimpleJdbcOperations.queryForObject(String, ParameterizedRowMapper, Object...) as of Spring 3.0: Use the method using the newly genericized RowMapper interface
 instead since the RowMapper and ParameterizedRowMapper interfaces are equivalent now.
 | 
| org.springframework.jdbc.core.simple.SimpleJdbcTemplate.queryForObject(String, ParameterizedRowMapper, SqlParameterSource) 
 | 
| org.springframework.jdbc.core.simple.SimpleJdbcOperations.queryForObject(String, ParameterizedRowMapper, SqlParameterSource) as of Spring 3.0: Use the method using the newly genericized RowMapper interface
 instead since the RowMapper and ParameterizedRowMapper interfaces are equivalent now.
 | 
| org.springframework.aop.config.AopNamespaceUtils.registerAutoProxyCreatorIfNecessary(ParserContext, Object) since Spring 2.5, in favor of
 AopNamespaceUtils.registerAutoProxyCreatorIfNecessary(ParserContext, Element)andAopConfigUtils.registerAutoProxyCreatorIfNecessary(BeanDefinitionRegistry, Object) | 
| org.springframework.beans.PropertyEditorRegistrySupport.registerSharedEditor(Class, PropertyEditor) as of Spring 3.0, in favor of PropertyEditorRegistrars or ConversionService usage
 | 
| org.springframework.jdbc.core.simple.SimpleJdbcCallOperations.returningResultSet(String, ParameterizedRowMapper) in favor of
 SimpleJdbcCallOperations.returningResultSet(String, org.springframework.jdbc.core.RowMapper) | 
| org.springframework.jdbc.core.simple.SimpleJdbcCall.returningResultSet(String, ParameterizedRowMapper) in favor of
 SimpleJdbcCall.returningResultSet(String, org.springframework.jdbc.core.RowMapper) | 
| org.springframework.orm.hibernate3.HibernateOperations.saveOrUpdateAll(Collection) as of Spring 2.5, in favor of individual
 saveOrUpdateormergeusage | 
| org.springframework.orm.hibernate3.LocalSessionFactoryBean.setCacheProvider(CacheProvider) as of Spring 3.0, following Hibernate 3.3's deprecation
 of the CacheProvider SPI
 | 
| org.springframework.beans.factory.support.BeanDefinitionBuilder.setFactoryBean(String, String) since Spring 2.5, in favor of preparing this on the
 raw BeanDefinition object | 
| org.springframework.beans.factory.support.BeanDefinitionBuilder.setResourceDescription(String) since Spring 2.5, in favor of preparing this on the
 raw BeanDefinition object | 
| org.springframework.beans.factory.support.AbstractBeanDefinition.setSingleton(boolean) since Spring 2.5, in favor of
 AbstractBeanDefinition.setScope(java.lang.String) | 
| org.springframework.beans.factory.support.BeanDefinitionBuilder.setSingleton(boolean) since Spring 2.5, in favor of
 BeanDefinitionBuilder.setScope(java.lang.String) | 
| org.springframework.beans.factory.support.BeanDefinitionBuilder.setSource(Object) since Spring 2.5, in favor of preparing this on the
 raw BeanDefinition object | 
| org.springframework.ui.freemarker.FreeMarkerConfigurationFactory.setTemplateLoaders(TemplateLoader[]) as of Spring 2.0.1, in favor of the "preTemplateLoaders"
 and "postTemplateLoaders" properties
 | 
| org.springframework.web.servlet.mvc.BaseCommandController.suppressValidation(HttpServletRequest) as of Spring 2.0.4, in favor of the
 BaseCommandController.suppressValidation(HttpServletRequest, Object)variant |