# Deprecated API

## Contents

- Deprecated Interfaces
- Deprecated Classes
- Deprecated Fields
- Deprecated Methods
- Deprecated Constructors
- Deprecated Enum Constants

- Deprecated Interfaces
  Interface and Description
  org.springframework.jdbc.core.simple.SimpleJdbcOperations since Spring 3.1 in favor of `JdbcOperations` and `NamedParameterJdbcOperations`. The JdbcTemplate and NamedParameterJdbcTemplate now provide all the functionality of the SimpleJdbcTemplate.

- Deprecated Classes
  Class and Description
  org.springframework.web.servlet.view.document.AbstractJExcelView as of Spring 4.0, since JExcelAPI is an abandoned project (no release since 2009, with serious bugs remaining)
  org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter in Spring 3.2 in favor of `RequestMappingHandlerAdapter`
  org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver as of Spring 3.2, in favor of `ExceptionHandlerExceptionResolver`
  org.springframework.test.AssertThrows favor use of JUnit 4's `@Test(expected=...)` support
  org.springframework.beans.factory.config.BeanReferenceFactoryBean as of Spring 3.2, in favor of using regular bean name aliases (which support placeholder parsing since Spring 2.5)
  org.springframework.remoting.caucho.BurlapClientInterceptor as of Spring 4.0, since Burlap hasn't evolved in years and is effectively retired (in contrast to its sibling Hessian)
  org.springframework.remoting.caucho.BurlapExporter as of Spring 4.0, since Burlap hasn't evolved in years and is effectively retired (in contrast to its sibling Hessian)
  org.springframework.remoting.caucho.BurlapProxyFactoryBean as of Spring 4.0, since Burlap hasn't evolved in years and is effectively retired (in contrast to its sibling Hessian)
  org.springframework.remoting.caucho.BurlapServiceExporter as of Spring 4.0, since Burlap hasn't evolved in years and is effectively retired (in contrast to its sibling Hessian)
  org.springframework.beans.factory.config.CommonsLogFactoryBean as of Spring 3.2, in favor of a bean definition that points to the bean class "org.apache.commons.logging.LogFactory" and the factory method "getLog", passing in the log name as constructor argument
  org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping in Spring 3.2 in favor of `RequestMappingHandlerMapping`
  org.springframework.cache.interceptor.DefaultKeyGenerator as of Spring 4.0, in favor of `SimpleKeyGenerator` or custom `KeyGenerator` implementations based on hash codes
  org.springframework.orm.hibernate3.HibernateInterceptor as of Spring 3.2.7, in favor of either HibernateTemplate usage or native Hibernate API usage within transactions, in combination with a general `PersistenceExceptionTranslationPostProcessor`. Note: This class does not have an equivalent replacement in `orm.hibernate4`. If you desperately need a scoped Session bound through AOP, consider the newly introduced `OpenSessionInterceptor`.
  org.springframework.http.converter.json.JacksonObjectMapperFactoryBean Please migrate to `Jackson2ObjectMapperFactoryBean` for Jackson 2.x.
  org.springframework.jca.work.jboss.JBossWorkManagerTaskExecutor as of Spring 4.0, since there are no fully supported versions of JBoss that this class works with anymore
  org.springframework.jca.work.jboss.JBossWorkManagerUtils as of Spring 4.0, since there are no fully supported versions of JBoss that this class works with anymore
  org.springframework.http.converter.json.MappingJacksonHttpMessageConverter Please migrate to `MappingJackson2HttpMessageConverter` for Jackson 2.x.
  org.springframework.web.servlet.view.json.MappingJacksonJsonView Please migrate to `MappingJackson2JsonView` for Jackson 2.x.
  org.springframework.jms.support.converter.MappingJacksonMessageConverter Please migrate to `MappingJackson2MessageConverter` for Jackson 2.x.
  org.springframework.jdbc.support.lob.OracleLobHandler in favor of `DefaultLobHandler` for the Oracle 10g driver and higher. Consider using the 10g/11g driver even against an Oracle 9i database! `DefaultLobHandler.setCreateTemporaryLob(boolean)` is the direct equivalent of this OracleLobHandler's implementation strategy, just using standard JDBC 4.0 API. That said, in most cases, regular DefaultLobHandler setup will work fine as well.
  org.springframework.web.context.support.ServletContextPropertyPlaceholderConfigurer in Spring 3.1 in favor of `PropertySourcesPlaceholderConfigurer` in conjunction with `StandardServletEnvironment`.
  org.springframework.remoting.caucho.SimpleBurlapServiceExporter as of Spring 4.0, since Burlap hasn't evolved in years and is effectively retired (in contrast to its sibling Hessian)
  org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport since Spring 3.1 in favor of `JdbcDaoSupport` and `NamedParameterJdbcDaoSupport`. The JdbcTemplate and NamedParameterJdbcTemplate now provide all the functionality of the SimpleJdbcTemplate.
  org.springframework.jdbc.core.simple.SimpleJdbcTemplate since Spring 3.1 in favor of `JdbcTemplate` and `NamedParameterJdbcTemplate`. The JdbcTemplate and NamedParameterJdbcTemplate now provide all the functionality of the SimpleJdbcTemplate.
  org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter in favor of `AllEncompassingFormHttpMessageConverter`
  org.springframework.beans.factory.xml.XmlBeanFactory as of Spring 3.1 in favor of `DefaultListableBeanFactory` and `XmlBeanDefinitionReader`

- Deprecated Fields
  Field and Description
  org.springframework.scheduling.config.AnnotationDrivenBeanDefinitionParser.ASYNC_ANNOTATION_PROCESSOR_BEAN_NAME as of Spring 3.1 in favor of `AnnotationConfigUtils.ASYNC_ANNOTATION_PROCESSOR_BEAN_NAME`
  org.springframework.scheduling.config.AnnotationDrivenBeanDefinitionParser.ASYNC_EXECUTION_ASPECT_BEAN_NAME as of Spring 3.1 in favor of `AnnotationConfigUtils.ASYNC_EXECUTION_ASPECT_BEAN_NAME`
  org.springframework.beans.factory.config.AutowireCapableBeanFactory.AUTOWIRE_AUTODETECT as of Spring 3.0: If you are using mixed autowiring strategies, prefer annotation-based autowiring for clearer demarcation of autowiring needs.
  org.springframework.beans.factory.support.AbstractBeanDefinition.AUTOWIRE_AUTODETECT as of Spring 3.0: If you are using mixed autowiring strategies, use annotation-based autowiring for clearer demarcation of autowiring needs.
  org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.BEAN_NAME_DELIMITERS as of Spring 3.1 in favor of `BeanDefinitionParserDelegate.MULTI_VALUE_ATTRIBUTE_DELIMITERS`
  org.springframework.web.util.CookieGenerator.DEFAULT_COOKIE_MAX_AGE in favor of setting no max age value at all in such a case
  org.springframework.jmx.support.MBeanRegistrationSupport.REGISTRATION_FAIL_ON_EXISTING since Spring 3.2, in favor of `RegistrationPolicy.FAIL_ON_EXISTING`
  org.springframework.jmx.support.MBeanRegistrationSupport.REGISTRATION_IGNORE_EXISTING since Spring 3.2, in favor of `RegistrationPolicy.IGNORE_EXISTING`
  org.springframework.jmx.support.MBeanRegistrationSupport.REGISTRATION_REPLACE_EXISTING since Spring 3.2, in favor of `RegistrationPolicy.REPLACE_EXISTING`
  org.springframework.scheduling.config.AnnotationDrivenBeanDefinitionParser.SCHEDULED_ANNOTATION_PROCESSOR_BEAN_NAME as of Spring 3.1 in favor of `AnnotationConfigUtils.SCHEDULED_ANNOTATION_PROCESSOR_BEAN_NAME`

- Deprecated Methods
  Method and Description
  org.springframework.beans.factory.support.BeanDefinitionBuilder.addConstructorArg(Object) since Spring 2.5, in favor of `BeanDefinitionBuilder.addConstructorArgValue(java.lang.Object)`
  org.springframework.core.convert.support.ConversionServiceFactory.addDefaultConverters(GenericConversionService) in Spring 3.1 in favor of `DefaultConversionService.addDefaultConverters(ConverterRegistry)`
  org.springframework.test.jdbc.JdbcTestUtils.containsSqlScriptDelimiters(String, char) as of Spring 4.0.3, in favor of using `ScriptUtils.containsSqlScriptDelimiters(java.lang.String, java.lang.String)`
  org.springframework.expression.common.ExpressionUtils.convert(EvaluationContext, Object, Class<T>) use `ExpressionUtils.convertTypedValue(EvaluationContext, TypedValue, Class)`
  org.springframework.orm.hibernate3.support.HibernateDaoSupport.convertHibernateAccessException(HibernateException) as of Spring 3.2.7, in favor of `HibernateTemplate` usage
  org.springframework.core.convert.support.ConversionServiceFactory.createDefaultConversionService() in Spring 3.1 in favor of `DefaultConversionService.DefaultConversionService()`
  org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(Method, Class<?>) in favor of `TransactionAspectSupport.createTransactionIfNecessary(PlatformTransactionManager, TransactionAttribute, String)`
  org.springframework.web.context.ContextLoader.createWebApplicationContext(ServletContext, ApplicationContext) as of Spring 3.1 in favor of `ContextLoader.createWebApplicationContext(ServletContext)` and `ContextLoader.configureAndRefreshWebApplicationContext(ConfigurableWebApplicationContext, ServletContext)`
  org.springframework.web.util.UriUtils.encodeHttpUrl(String, String) in favor of `UriComponentsBuilder`; see note about query param encoding
  org.springframework.mock.web.MockHttpServletResponse.encodeRedirectUrl(String)
  org.springframework.web.util.UriUtils.encodeUri(String, String) in favor of `UriComponentsBuilder`; see note about query param encoding
  org.springframework.web.util.UriUtils.encodeUriComponents(String, String, String, String, String, String, String, String, String) in favor of `UriComponentsBuilder`
  org.springframework.mock.web.MockHttpServletResponse.encodeUrl(String)
  org.springframework.orm.hibernate3.HibernateTemplate.executeFind(HibernateCallback<?>)
  org.springframework.orm.hibernate3.HibernateOperations.executeFind(HibernateCallback<?>) as of Spring 3.2.7, in favor of using a regular `HibernateOperations.execute(org.springframework.orm.hibernate3.HibernateCallback<T>)` call with a generic List type declared
  org.springframework.test.jdbc.JdbcTestUtils.executeSqlScript(JdbcTemplate, EncodedResource, boolean) as of Spring 4.0.3, in favor of using `ScriptUtils.executeSqlScript(java.sql.Connection, org.springframework.core.io.Resource)` or `ResourceDatabasePopulator`.
  org.springframework.test.jdbc.JdbcTestUtils.executeSqlScript(JdbcTemplate, Resource, boolean) as of Spring 4.0.3, in favor of using `ScriptUtils.executeSqlScript(java.sql.Connection, org.springframework.core.io.Resource)` or `ResourceDatabasePopulator`.
  org.springframework.test.jdbc.JdbcTestUtils.executeSqlScript(JdbcTemplate, ResourceLoader, String, boolean) as of Spring 4.0.3, in favor of using `ScriptUtils.executeSqlScript(java.sql.Connection, org.springframework.core.io.Resource)` or `ResourceDatabasePopulator`.
  org.springframework.core.GenericCollectionTypeResolver.getCollectionFieldType(Field, int, Map<Integer, Integer>) as of 4.0, in favor of using `ResolvableType` for arbitrary nesting levels
  org.springframework.core.convert.TypeDescriptor.getElementType() in Spring 3.1 in favor of `TypeDescriptor.getElementTypeDescriptor()`
  org.springframework.http.HttpHeaders.getIfNotModifiedSince() use `HttpHeaders.getIfModifiedSince()`
  org.springframework.core.GenericCollectionTypeResolver.getMapKeyFieldType(Field, int, Map<Integer, Integer>) as of 4.0, in favor of using `ResolvableType` for arbitrary nesting levels
  org.springframework.core.convert.TypeDescriptor.getMapKeyType() in Spring 3.1 in favor of `TypeDescriptor.getMapKeyTypeDescriptor()`
  org.springframework.core.GenericCollectionTypeResolver.getMapValueFieldType(Field, int, Map<Integer, Integer>) as of 4.0, in favor of using `ResolvableType` for arbitrary nesting levels
  org.springframework.core.convert.TypeDescriptor.getMapValueType() in Spring 3.1 in favor of `TypeDescriptor.getMapValueTypeDescriptor()`
  org.springframework.mock.web.MockHttpServletRequest.getRealPath(String)
  org.springframework.web.servlet.view.json.MappingJackson2JsonView.getRenderedAttributes() use `MappingJackson2JsonView.getModelKeys()` instead
  org.springframework.web.servlet.view.json.MappingJacksonJsonView.getRenderedAttributes() use `MappingJacksonJsonView.getModelKeys()` instead
  org.springframework.mock.web.MockServletContext.getServlet(String)
  org.springframework.mock.web.MockServletContext.getServletNames()
  org.springframework.mock.web.MockServletContext.getServlets()
  org.springframework.orm.hibernate3.support.HibernateDaoSupport.getSession() as of Spring 3.2.7, in favor of `HibernateTemplate` usage
  org.springframework.orm.hibernate3.support.HibernateDaoSupport.getSession(boolean) as of Spring 3.2.7, in favor of `HibernateTemplate` usage
  org.springframework.core.GenericTypeResolver.getTargetType(MethodParameter) as of Spring 4.0, use `MethodParameter.getGenericParameterType()`
  org.springframework.core.GenericTypeResolver.getTypeVariableMap(Class<?>) as of Spring 4.0 in favor of `ResolvableType`
  org.springframework.format.support.FormattingConversionServiceFactoryBean.installFormatters(FormatterRegistry) since Spring 3.1 in favor of `FormattingConversionServiceFactoryBean.setFormatterRegistrars(Set)`
  org.springframework.aop.support.AopUtils.isCglibProxyClass(Class<?>) as of Spring 3.1 in favor of `ClassUtils.isCglibProxyClass(Class)`
  org.springframework.aop.support.AopUtils.isCglibProxyClassName(String) as of Spring 3.1 in favor of `ClassUtils.isCglibProxyClassName(String)`
  org.springframework.test.web.servlet.result.StatusResultMatchers.isDestinationLocked() matching the deprecation of HttpStatus.DESTINATION_LOCKED
  org.springframework.beans.factory.xml.AbstractSimpleBeanDefinitionParser.isEligibleAttribute(Attr) in favour of `AbstractSimpleBeanDefinitionParser.isEligibleAttribute(org.w3c.dom.Attr, ParserContext)`
  org.springframework.test.web.servlet.result.StatusResultMatchers.isInsufficientSpaceOnResource() matching the deprecation of HttpStatus.INSUFFICIENT_SPACE_ON_RESOURCE
  org.springframework.test.web.servlet.result.StatusResultMatchers.isMethodFailure() matching the deprecation of HttpStatus.METHOD_FAILURE
  org.springframework.mock.web.MockHttpServletRequest.isRequestedSessionIdFromUrl()
  org.springframework.mock.web.MockServletContext.log(Exception, String)
  org.springframework.ui.velocity.VelocityEngineUtils.mergeTemplate(VelocityEngine, String, Map<String, Object>, Writer) Use `VelocityEngineUtils.mergeTemplate(VelocityEngine, String, String, Map, Writer)` instead, following Velocity 1.6's corresponding deprecation in its own API.
  org.springframework.ui.velocity.VelocityEngineUtils.mergeTemplateIntoString(VelocityEngine, String, Map<String, Object>) Use `VelocityEngineUtils.mergeTemplateIntoString(VelocityEngine, String, String, Map)` instead, following Velocity 1.6's corresponding deprecation in its own API.
  org.springframework.transaction.interceptor.TransactionAspectSupport.methodIdentification(Method) in favor of `TransactionAspectSupport.methodIdentification(Method, Class)`
  org.springframework.orm.hibernate3.support.AbstractLobType.nullSafeGet(ResultSet, String[], Object)
  org.springframework.orm.hibernate3.support.AbstractLobType.nullSafeSet(PreparedStatement, Object, int)
  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)` with `PropertyPlaceholderHelper`. Only retained for compatibility with Spring 2.5 extensions.
  org.springframework.context.support.PropertySourcesPlaceholderConfigurer.processProperties(ConfigurableListableBeanFactory, Properties) in favor of `PropertySourcesPlaceholderConfigurer.processProperties(ConfigurableListableBeanFactory, ConfigurablePropertyResolver)`
  org.springframework.jdbc.core.simple.SimpleJdbcTemplate.query(String, ParameterizedRowMapper<T>, Map<String, ?>)
  org.springframework.jdbc.core.simple.SimpleJdbcOperations.query(String, ParameterizedRowMapper<T>, Map<String, ?>) 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<T>, Object...)
  org.springframework.jdbc.core.simple.SimpleJdbcOperations.query(String, ParameterizedRowMapper<T>, 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<T>, SqlParameterSource)
  org.springframework.jdbc.core.simple.SimpleJdbcOperations.query(String, ParameterizedRowMapper<T>, 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.JdbcOperations.queryForInt(String) in favor of `JdbcOperations.queryForObject(String, Class)`
  org.springframework.jdbc.core.JdbcTemplate.queryForInt(String)
  org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForInt(String, Map<String, ?>)
  org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations.queryForInt(String, Map<String, ?>) in favor of `NamedParameterJdbcOperations.queryForObject(String, Map, Class)`
  org.springframework.jdbc.core.JdbcOperations.queryForInt(String, Object...) in favor of `JdbcOperations.queryForObject(String, Class, Object[])` )}
  org.springframework.jdbc.core.JdbcTemplate.queryForInt(String, Object...)
  org.springframework.jdbc.core.JdbcOperations.queryForInt(String, Object[], int[]) in favor of `JdbcOperations.queryForObject(String, Object[], int[], Class)` )}
  org.springframework.jdbc.core.JdbcTemplate.queryForInt(String, Object[], int[])
  org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForInt(String, SqlParameterSource)
  org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations.queryForInt(String, SqlParameterSource) in favor of `NamedParameterJdbcOperations.queryForObject(String, SqlParameterSource, Class)`
  org.springframework.jdbc.core.JdbcOperations.queryForLong(String) in favor of `JdbcOperations.queryForObject(String, Class)`
  org.springframework.jdbc.core.JdbcTemplate.queryForLong(String)
  org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForLong(String, Map<String, ?>)
  org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations.queryForLong(String, Map<String, ?>) in favor of `NamedParameterJdbcOperations.queryForObject(String, Map, Class)`
  org.springframework.jdbc.core.JdbcOperations.queryForLong(String, Object...) in favor of `JdbcOperations.queryForObject(String, Class, Object[])` )}
  org.springframework.jdbc.core.JdbcTemplate.queryForLong(String, Object...)
  org.springframework.jdbc.core.JdbcOperations.queryForLong(String, Object[], int[]) in favor of `JdbcOperations.queryForObject(String, Object[], int[], Class)` )}
  org.springframework.jdbc.core.JdbcTemplate.queryForLong(String, Object[], int[])
  org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForLong(String, SqlParameterSource)
  org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations.queryForLong(String, SqlParameterSource) in favor of `NamedParameterJdbcOperations.queryForObject(String, SqlParameterSource, Class)`
  org.springframework.jdbc.core.simple.SimpleJdbcTemplate.queryForObject(String, ParameterizedRowMapper<T>, Map<String, ?>)
  org.springframework.jdbc.core.simple.SimpleJdbcOperations.queryForObject(String, ParameterizedRowMapper<T>, Map<String, ?>) 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<T>, Object...)
  org.springframework.jdbc.core.simple.SimpleJdbcOperations.queryForObject(String, ParameterizedRowMapper<T>, 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<T>, SqlParameterSource)
  org.springframework.jdbc.core.simple.SimpleJdbcOperations.queryForObject(String, ParameterizedRowMapper<T>, 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.test.jdbc.JdbcTestUtils.readScript(LineNumberReader) as of Spring 4.0.3, in favor of using `ScriptUtils.readScript(LineNumberReader, String, String)`
  org.springframework.test.jdbc.JdbcTestUtils.readScript(LineNumberReader, String) as of Spring 4.0.3, in favor of using `ScriptUtils.readScript(LineNumberReader, String, String)`
  org.springframework.orm.hibernate3.support.HibernateDaoSupport.releaseSession(Session) as of Spring 3.2.7, in favor of `HibernateTemplate` usage
  org.springframework.core.GenericTypeResolver.resolveType(Type, Map<TypeVariable, Type>) as of Spring 4.0 in favor of `ResolvableType`
  org.springframework.web.servlet.view.ContentNegotiatingViewResolver.setDefaultContentType(MediaType) use `ContentNegotiatingViewResolver.setContentNegotiationManager(ContentNegotiationManager)`
  org.springframework.web.servlet.view.ContentNegotiatingViewResolver.setFavorParameter(boolean) use `ContentNegotiatingViewResolver.setContentNegotiationManager(ContentNegotiationManager)`
  org.springframework.web.servlet.view.ContentNegotiatingViewResolver.setFavorPathExtension(boolean) use `ContentNegotiatingViewResolver.setContentNegotiationManager(ContentNegotiationManager)`
  org.springframework.web.servlet.view.ContentNegotiatingViewResolver.setIgnoreAcceptHeader(boolean) use `ContentNegotiatingViewResolver.setContentNegotiationManager(ContentNegotiationManager)`
  org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean.setJobListenerNames(String...) as of Spring 4.0, since it only works on Quartz 1.x
  org.springframework.scheduling.quartz.JobDetailBean.setJobListenerNames(String...) as of Spring 4.0, since it only works on Quartz 1.x
  org.springframework.scheduling.quartz.SchedulerAccessor.setJobListeners(JobListener...) as of Spring 4.0, since it only works on Quartz 1.x
  org.springframework.web.servlet.view.ContentNegotiatingViewResolver.setMediaTypes(Map<String, String>) use `ContentNegotiatingViewResolver.setContentNegotiationManager(ContentNegotiationManager)`
  org.springframework.oxm.castor.CastorMarshaller.setObject(Object) in favor of `CastorMarshaller.setRootObject(java.lang.Object)`
  org.springframework.web.servlet.view.ContentNegotiatingViewResolver.setParameterName(String) use `ContentNegotiatingViewResolver.setContentNegotiationManager(ContentNegotiationManager)`
  org.springframework.jmx.support.MBeanRegistrationSupport.setRegistrationBehavior(int) since Spring 3.2, in favor of `MBeanRegistrationSupport.setRegistrationPolicy(RegistrationPolicy)`
  org.springframework.jmx.support.MBeanRegistrationSupport.setRegistrationBehaviorName(String) since Spring 3.2, in favor of `MBeanRegistrationSupport.setRegistrationPolicy(RegistrationPolicy)`
  org.springframework.web.servlet.view.json.MappingJackson2JsonView.setRenderedAttributes(Set<String>) use `MappingJackson2JsonView.setModelKeys(Set)` instead
  org.springframework.web.servlet.view.json.MappingJacksonJsonView.setRenderedAttributes(Set<String>) use `MappingJacksonJsonView.setModelKeys(Set)` instead
  org.springframework.mock.web.MockHttpServletResponse.setStatus(int, String)
  org.springframework.scheduling.quartz.SimpleTriggerBean.setTriggerListenerNames(String...) as of Spring 4.0, since it only works on Quartz 1.x
  org.springframework.scheduling.quartz.CronTriggerBean.setTriggerListenerNames(String...) as of Spring 4.0, since it only works on Quartz 1.x
  org.springframework.scheduling.quartz.SchedulerAccessor.setTriggerListeners(TriggerListener...) as of Spring 4.0, since it only works on Quartz 1.x
  org.springframework.web.servlet.view.ContentNegotiatingViewResolver.setUseJaf(boolean) use `ContentNegotiatingViewResolver.setContentNegotiationManager(ContentNegotiationManager)`
  org.springframework.remoting.jaxws.AbstractJaxWsServiceExporter.setWebServiceFeatures(Object[]) as of Spring 4.0, in favor of `AbstractJaxWsServiceExporter.setEndpointFeatures(javax.xml.ws.WebServiceFeature...)`
  org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.setWebServiceFeatures(Object[]) as of Spring 4.0, in favor of the differentiated `"serviceFeatures"` and `"portFeatures"` properties
  org.springframework.test.jdbc.JdbcTestUtils.splitSqlScript(String, char, List<String>) as of Spring 4.0.3, in favor of using `ScriptUtils.splitSqlScript(String, char, List)`
  org.springframework.asm.MethodVisitor.visitMethodInsn(int, String, String, String)

- Deprecated Constructors
  Constructor and Description
  org.springframework.beans.factory.xml.BeanDefinitionParserDelegate(XmlReaderContext) since Spring 3.1 in favor of `BeanDefinitionParserDelegate.BeanDefinitionParserDelegate(XmlReaderContext, Environment)`
  org.springframework.test.context.ContextConfigurationAttributes(Class<?>, String[], Class<?>[], boolean, Class<? extends ContextLoader>) as of Spring 3.2, use `ContextConfigurationAttributes.ContextConfigurationAttributes(Class, String[], Class[], boolean, Class[], boolean, String, Class)` instead
  org.springframework.core.io.support.ResourceArrayPropertyEditor(ResourcePatternResolver) as of 3.1 in favor of `ResourceArrayPropertyEditor.ResourceArrayPropertyEditor(ResourcePatternResolver, PropertyResolver)`
  org.springframework.core.io.support.ResourceArrayPropertyEditor(ResourcePatternResolver, boolean) as of 3.1 in favor of `ResourceArrayPropertyEditor.ResourceArrayPropertyEditor(ResourcePatternResolver, PropertyResolver, boolean)`
  org.springframework.core.io.ResourceEditor(ResourceLoader) as of Spring 3.1 in favor of `ResourceEditor.ResourceEditor(ResourceLoader, PropertyResolver)`
  org.springframework.core.io.ResourceEditor(ResourceLoader, boolean) as of Spring 3.1 in favor of `ResourceEditor.ResourceEditor(ResourceLoader, PropertyResolver, boolean)`
  org.springframework.beans.support.ResourceEditorRegistrar(ResourceLoader) as of Spring 3.1 in favor of `ResourceEditorRegistrar.ResourceEditorRegistrar(ResourceLoader, PropertyResolver)`
  org.springframework.test.context.web.WebMergedContextConfiguration(Class<?>, String[], Class<?>[], Set<Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>>, String[], String, ContextLoader) as of Spring 3.2.2, use `WebMergedContextConfiguration.WebMergedContextConfiguration(Class, String[], Class[], Set, String[], String, ContextLoader, CacheAwareContextLoaderDelegate, MergedContextConfiguration)` instead.

- Deprecated Enum Constants
  Enum Constant and Description
  org.springframework.http.HttpStatus.DESTINATION_LOCKED See WebDAV Draft Changes
  org.springframework.http.HttpStatus.INSUFFICIENT_SPACE_ON_RESOURCE See WebDAV Draft Changes
  org.springframework.http.HttpStatus.METHOD_FAILURE See WebDAV Draft Changes
  org.springframework.http.HttpStatus.MOVED_TEMPORARILY In favor of `HttpStatus.FOUND` which will be returned from `HttpStatus.valueOf(302)`