Рубрики
Без рубрики

Устаревшие классы весной

Изучите устаревшие классы в Spring и Spring Boot.

Автор оригинала: baeldung.

1. введение

В этом уроке мы рассмотрим устаревшие классы в Spring и Spring Boot и объясним, чем они были заменены.

Мы рассмотрим классы, начиная с Spring 4 и Spring Boot 1.4.

2. Устаревшие классы весной

Для удобства чтения мы перечислим классы и их замены на основе весеннего выпуска. И в каждой группе классов мы отсортировали их по имени класса, независимо от пакета.

2.1. Пружина 4.0.x

  • org.springframework.cache.interceptor.DefaultKeyGenerator заменен на SimpleKeyGenerator или пользовательские KeyGenerator реализации на основе хэш-кодов
  • org.springframework.jdbc.support.lob.OracleLobHandler | DefaultLobHandler для драйвера Oracle 10g и выше; мы должны рассмотреть его даже в отношении базы данных Oracle 9i org.springframework.test.AssertThrows
  • вместо этого мы должны использовать поддержку JUnit 4 @Test(expected=…) org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter
  • –//| AllEncompassingFormHttpMessageConverter

Следующий класс был устаревшим с весны 4.0.2 в пользу стратегии CGLIB 3.1 по умолчанию и был удален весной 4.1:

  • Следующий класс был устаревшим с весны 4.0.2 в пользу стратегии CGLIB 3.1 по умолчанию и был удален весной 4.1:

Все устаревшие классы, а также устаревшие интерфейсы, поля, методы, конструкторы и константы перечисления для этой версии Spring можно найти на официальной странице документации .

2.2. Пружина 4.1.x

  • org.springframework.jdbc.core.simple.Параметризованный BeanPropertyRowMapper |/– |/BeanPropertyRowMapper org.springframework.jdbc.core.simple.ParameterizedSingleColumnRowMapper |/–
  • |/SingleColumnRowMapper

Мы можем найти полный список в Spring 4.1.x JavaDoc .

2.3. Пружина 4.2.x

  • org.springframework.web.servlet.view.document.AbstractExcelView |/– //AbstractXlsView и его AbstractXlsxView и AbstractXlsxStreamingView варианты org.springframework.format.number.CurrencyFormatter |/–
  • |/CurrencyStyleFormatter org.springframework.messaging.simp.user.DefaultUserSessionRegistry |/– мы должны использовать SimpUserRegistry
  • в сочетании с ApplicationListener прослушиванием AbstractSubProtocolEvent событий org.springframework.обмен сообщениями.обработчик.HandlerMethodSelector |/– обобщенный и уточненный методинтроспектор org.springframework.core.JdkVersion
  • мы должны выполнять прямые проверки желаемых вариантов API JDK с помощью отражения org.springframework.format.number.NumberFormatter |/–
  • /NumberStyleFormatter org.springframework.format.number.PercentFormatter |/– |/PercentStyleFormatter
  • org.springframework.test.context.transaction.TransactionConfigurationAttributesэтот класс удаляется вместе с @TransactionConfiguration весной 5
  • org.springframework.oxm.xmlbeans.XmlBeansMarshallerпосле XMLBeans выхода на пенсию в Apache

Следующие классы устарели в пользу Apache Log4j 2:

  • Следующие классы устарели в пользу Apache Log4j 2:
  • Следующие классы устарели в пользу Apache Log4j 2:
  • Следующие классы устарели в пользу Apache Log4j 2:
  • Следующие классы устарели в пользу Apache Log4j 2:
  • Следующие классы устарели в пользу Apache Log4j 2:

Более подробная информация доступна в Spring 4.2.x JavaDoc .

2.4. Пружина 4.3.x

Эта версия Spring принесла много устаревших классов:

  • org.springframework.web.servlet.mvc.method.аннотация.AbstractJsonpResponseBodyAdvice – |/этот класс удален в Spring Framework 5.1; вместо этого мы должны использовать CORS org.springframework.oxm.castor.CastorMarshaller
  • устарел из-за отсутствия активности в проекте Castor org.springframework.web.servlet.mvc.method.аннотация.CompletionStageReturnValueHandler
  • |/– | DeferredResultMethodReturnValueHandler , который теперь поддерживает CompletionStage возвращаемые значения через механизм адаптера org.springframework.jdbc.support.incrementer.DB2MainframeSequenceMaxValueIncrementer |/– переименован в
  • Db2MainframeMaxValueIncrementer org.springframework.jdbc.support.incrementer.DB2SequenceMaxValueIncrementer переименован в Db2LuwMaxValueIncrementer
  • org.springframework.core.GenericCollectionTypeResolver |/– устарел в пользу прямого разрешающего типа
  • использования org.springframework.web.servlet.mvc.method.аннотация.ListenableFutureReturnValueHandler DeferredResultMethodReturnValueHandler
  • , который теперь поддерживает ListenableFuture возвращаемые значения через механизм адаптера org.springframework.jdbc.support.incrementer.PostgreSQLSequenceMaxValueIncrementer |/– вместо этого мы должны использовать PostgresSequenceMaxValueIncrementer
  • org.springframework.web.servlet.ResourceServlet |/– |/ResourceHttpRequestHandler

Эти классы устарели в пользу метода обработчика на основе инфраструктуры MVC:

  • Эти классы устарели в пользу
  • метода обработчика
  • на основе инфраструктуры MVC:

Несколько классов устарели в пользу методов обработчика, управляемых аннотациями:

  • Несколько классов устарели в пользу методов обработчика, управляемых аннотациями:
  • Несколько классов устарели в пользу методов обработчика, управляемых аннотациями:
  • Несколько классов устарели в пользу методов обработчика, управляемых аннотациями:
  • Несколько классов устарели в пользу методов обработчика, управляемых аннотациями:
  • Несколько классов устарели в пользу методов обработчика, управляемых аннотациями:
  • Несколько классов устарели в пользу методов обработчика, управляемых аннотациями:

Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:

  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:
  • Есть также много классов из Spring, которые мы должны заменить их эквивалентами Hibernate 4.x/5.x:

Несколько классов устарели в пользу FreeMarker:

  • Несколько классов устарели в пользу FreeMarker:
  • Несколько классов устарели в пользу FreeMarker:
  • Несколько классов устарели в пользу FreeMarker:
  • Несколько классов устарели в пользу FreeMarker:
  • Несколько классов устарели в пользу FreeMarker:
  • Несколько классов устарели в пользу FreeMarker:
  • Несколько классов устарели в пользу FreeMarker:
  • Несколько классов устарели в пользу FreeMarker:
  • Несколько классов устарели в пользу FreeMarker:

Эти классы удаляются в Spring Framework 5.1, и вместо этого мы должны использовать другие транспорты:

  • Эти классы удаляются в Spring Framework 5.1, и вместо этого мы должны использовать другие транспорты:
  • Эти классы удаляются в Spring Framework 5.1, и вместо этого мы должны использовать другие транспорты:

Наконец, есть также несколько классов без соответствующей замены:

  • Наконец, есть также несколько классов без соответствующей замены:
  • Наконец, есть также несколько классов без соответствующей замены:

Как обычно, Spring 4.3.x JavaDoc содержит полный список.

2.5. Пружина 5.0.x

  • org.springframework.web.reactive.support.AbstractAnnotationConfigDispatcherHandlerInitializer |/– устарел в пользу AbstractReactiveWebInitializer org.springframework.web.util.AbstractUriTemplateHandler
  • |/– |/DefaultUriBuilderFactory org.springframework.web.socket.config.аннотация.AbstractWebSocketMessageBrokerConfigurer
  • устарел в пользу простого использования WebSocketMessageBrokerConfigurer , который имеет методы по умолчанию, что стало возможным благодаря базовому уровню Java 8 org.springframework.web.client.AsyncRestTemplate |/– |/WebClient
  • org.springframework.web.context.request.async.CallableProcessingInterceptorAdapter |/– устарел, так как CallableProcessingInterceptor имеет методы по умолчанию
  • org.springframework.messaging.support.ChannelInterceptorAdapter |/– устарел, так как ChannelInterceptor имеет методы по умолчанию (что стало возможным благодаря базовому уровню Java 8) и может быть реализован напрямую без необходимости в этом адаптере no-op org.springframework.util.comparator.CompoundComparator
  • устарел в пользу стандарта JDK 8 Comparator.thenComparing(Компаратор) org.springframework.web.util.DefaultUriTemplateHandler |/–
  • //DefaultUriBuilderFactory ; следует отметить, что DefaultUriBuilderFactory имеет другое значение по умолчанию для свойства parsePath
  • (изменено с false на true ) org.springframework.web.context.request.async.DeferredResultProcessingInterceptorAdapter |/– так как DeferredResultProcessingInterceptor имеет методы по умолчанию org.springframework.util.comparator.InvertibleComparator устарел в пользу стандартного JDK 8
  • Comparator.reversed() org.springframework.http.client.Netty4ClientHttpRequestFactory |/– устарел в пользу ReactorClientHttpConnector org.apache.commons.logging.impl.SimpleLog
  • |/– перемещен в spring-jcl (фактически эквивалентно NoOpLog
  • ) org.springframework.web.servlet.config.аннотация.WebMvcConfigurerAdapter
  • WebMvcConfigurer |/имеет методы по умолчанию (что стало возможным благодаря базовому уровню Java 8) и может быть реализован напрямую без необходимости в этом адаптере org.springframework.beans.factory.config.YamlProcessor.StrictMapAppenderConstructor |/– заменен собственной обработкой дубликатов ключей SnakeYaml

У нас есть два класса, которые устарели в пользу Абстрактного реактивного вебинициализатора :

  • У нас есть два класса, которые устарели в пользу
  • Абстрактного реактивного вебинициализатора

И, следующие классы не имеют замен:

  • И, следующие классы не имеют замен:
  • И, следующие классы не имеют замен:
  • И, следующие классы не имеют замен:
  • И, следующие классы не имеют замен:
  • И, следующие классы не имеют замен:

Полный список доступен в Spring 5.0.x JavaDoc .

2.6. Пружина 5.1.x

  • org.springframework.http.client.support.BasicAuthorizationInterceptor |/– устарел в пользу BasicAuthenticationInterceptor , который повторно использует HttpHeaders.setBasicAuth(java.lang.Строка, java.lang.Строка) и теперь использует свою кодировку по умолчанию ISO-8859-1 вместо использования UTF-8, как это было ранее org.springframework.jdbc.core.BatchUpdateUtils
  • |/– больше не используется JdbcTemplate org.springframework.web.reactive.function.client.Функции фильтра обмена.Учетные данные |/–
  • мы должны использовать метод HttpHeaders.setBasicAuth(String, String) при построении запроса org.springframework.web.filter.reactive.ForwardedHeaderFilter |/– этот фильтр устарел в пользу использования
  • ForwardedHeaderTransformer , который может быть объявлен как компонент с именем ” forwardedHeaderTransformer ” или явно зарегистрирован в WebHttpHandlerBuilder org.springframework.jdbc.core.namedparam.NamedParameterBatchUpdateUtils |/– больше не используется NamedParameterJdbcTemplate
  • org.springframework.core.io.PathResource |/– |/FileSystemResource.FileSystemResource(Путь) org.springframework.beans.factory.аннотация.RequiredAnnotationBeanPostProcessor
  • – |/мы должны использовать инъекцию конструктора для требуемых настроек (или пользовательскую InitializingBean реализация) org.springframework.remoting.cucho.SimpleHessianServiceExporter |/–
  • |/HessianServiceExporter org.springframework.remoting.httpinvoker.SimpleHttpInvokerServiceExporter |/– |/HttpInvokerServiceExporter org.springframework.remoting.support.SimpleHttpServerFactoryBean |/–
  • встроенный Tomcat/Причал/Подводное течение org.springframework.remoting.jaxws.SimpleHttpServerJaxWsServiceExporter |/– |/SimpleJaxWsServiceExporter

Они устарели в пользу Encoded ResourceResolver :

  • Они устарели в пользу
  • Encoded ResourceResolver

Существует несколько классов, которые устарели в пользу Java EE 7 Планировщик управляемых задач по умолчанию :

  • Существует несколько классов, которые устарели в пользу Java EE 7
  • Планировщик управляемых задач по умолчанию
  • :
  • Существует несколько классов, которые устарели в пользу Java EE 7
  • Планировщик управляемых задач по умолчанию

И некоторые из них устарели в пользу Java EE 7 Управляемый по умолчанию TaskExecutor :

  • И некоторые из них устарели в пользу Java EE 7
  • Управляемый по умолчанию TaskExecutor

Наконец, один класс устарел без замены:

  • Наконец, один класс устарел без замены:

Для получения более подробной информации см. Официальный Spring 5.1.x JavaDoc об устаревших классах .

3. Устаревшие классы в весенней загрузке

Теперь давайте посмотрим на устаревшие классы в Spring Boot до версии 1.4.

Здесь мы должны отметить, что для Spring Boot 1.4 и 1.5 большинство классов замены сохранили свои первоначальные имена, но были перемещены в разные пакеты . Поэтому мы используем полные имена классов в следующих двух подразделах как для устаревших, так и для замещающих классов.

3.1. Пружинный ботинок 1.4.x

  • org.springframework.boot.actuate.system.ApplicationPidFileWriter |/– устарел в пользу org.springframework.boot.system.ApplicationPidFileWriter org.springframework.boot.yaml.ArrayDocumentMatcher
  • |/– устарел в пользу точного строкового сопоставления на основе org.springframework.boot.test.ConfigFileApplicationContextInitializer |/–
  • /org.springframework.boot.test.context.ConfigFileApplicationContextInitializer org.springframework.boot.yaml.DefaultProfileDocumentMatcher |/– он больше не используется org.springframework.boot.context.embedded.Делегирование filterproxyregistrationbean
  • |/– | org.springframework.boot.web.servlet.Делегирование filterproxyregistrationbean org.springframework.boot.actuate.system.EmbeddedServerPortFileWriter |/–
  • //org.springframework.boot.system.EmbeddedServerPortFileWriter org.springframework.boot.test.EnvironmentTestUtils |/– //org.springframework.boot.test.util.Окружающая среда org.springframework.boot.context.embedded.Страница ошибок
  • |/– |/org.springframework.boot.web.servlet.Страница ошибок org.springframework.boot.context.web.ErrorPageFilter |/– | org.springframework.boot.web.support.ErrorPageFilter
  • org.springframework.boot.context.embedded.FilterRegistrationBean |/– |/org.springframework.boot.web.servlet.FilterRegistrationBean org.springframework.boot.test.IntegrationTestPropertiesListener |/–
  • он больше не используется @IntegrationTest org.springframework.boot.context.embedded.MultipartConfigFactory |/– |/org.springframework.boot.web.servlet.MultipartConfigFactory
  • org.springframework.boot.context.web.OrderedCharacterEncodingFilter |/– | org.springframework.boot.web.filter.OrderedCharacterEncodingFilter org.springframework.boot.context.web.orderedhiddenhttpmethod filter |/–
  • /org.springframework.boot.web.filter.Orderedhiddenhttpmethod фильтр org.springframework.boot.context.web.OrderedHttpPutFormContentFilter |/– /org.springframework.boot.web.filter.OrderedHttpPutFormContentFilter org.springframework.boot.context.web.OrderedRequestContextFilter
  • |/– | org.springframework.boot.web.filter.OrderedRequestContextFilter org.springframework.boot.test.OutputCapture
  • //org.springframework.boot.test.rule.OutputCapture org.springframework.boot.context.web.ServerPortInfoApplicationContextInitializer |/– /org.springframework.boot.context.embedded.ServerPortInfoApplicationContextInitializer org.springframework.boot.context.web.servletcontextapplication contextinitializer
  • |/– /org.springframework.boot.web.support.ServletContextApplicationContextInitializer org.springframework.boot.context.embedded.ServletListenerRegistrationBean |/– //org.springframework.boot.web.servlet.ServletListenerRegistrationBean
  • org.springframework.boot.context.embedded.ServletRegistrationBean |/– |/org.springframework.boot.web.servlet.ServletRegistrationBean org.springframework.boot.test.SpringApplicationContextLoader |/–
  • устарел в пользу @SpringBootTest/|; при необходимости мы также можем использовать org.springframework.boot.test.context.SpringBootContextLoader org.springframework.boot.test.SpringBootMockServletContext |/–
  • | org.springframework.boot.test.mock.web.SpringBootMockServletContext org.springframework.boot.context.web.SpringBootServletInitializer |/– | org.springframework.boot.web.support.SpringBootServletInitializer org.springframework.boot.test.TestRestTemplate
  • |/– |/org.springframework.boot.test.web.client.TestRestTemplate

Поскольку поддержка скорости устарела в Spring Framework 4.3, следующие классы также устарели в Spring Boot:

  • Поскольку поддержка скорости устарела в Spring Framework 4.3, следующие классы также устарели в Spring Boot:
  • Поскольку поддержка скорости устарела в Spring Framework 4.3, следующие классы также устарели в Spring Boot:
  • Поскольку поддержка скорости устарела в Spring Framework 4.3, следующие классы также устарели в Spring Boot:
  • Поскольку поддержка скорости устарела в Spring Framework 4.3, следующие классы также устарели в Spring Boot:
  • Поскольку поддержка скорости устарела в Spring Framework 4.3, следующие классы также устарели в Spring Boot:
  • Поскольку поддержка скорости устарела в Spring Framework 4.3, следующие классы также устарели в Spring Boot:
  • Поскольку поддержка скорости устарела в Spring Framework 4.3, следующие классы также устарели в Spring Boot:

Spring Boot 1.4.x JavaDoc имеет полный список.

3.2. Пружинный ботинок 1.5.x

  • org.springframework.boot.context.event.ApplicationStartedEvent |/– устарело в пользу org.springframework.boot.context.event.ApplicationStartingEvent org.springframework.boot.autoconfigure.EnableAutoConfigurationImportSelector
  • |/– устарел в пользу org.springframework.boot.autoconfigure.Автоконфигурацияимпортселектор org.springframework.boot.actuate.cache.GuavaCacheStatisticsProvider |/–
  • после удаления поддержки Guava в Spring Framework 5 org.springframework.boot.loader.tools.Макеты.Модуль |/– устарел в пользу пользовательского
  • LayoutFactory org.springframework.boot.autoconfigure.MessageSourceAutoConfiguration |/– устарело в пользу org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration
  • org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration |/– устарело в пользу org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration org.springframework.boot.actuate.autoconfigure.ShellProperties
  • устарел, так как сбой не поддерживается активно

Эти два класса устарели, так как сбой не поддерживается активно:

  • Эти два класса устарели, так как сбой не поддерживается активно:
  • Эти два класса устарели, так как сбой не поддерживается активно:

Есть также несколько классов без замены:

  • Есть также несколько классов без замены:
  • Есть также несколько классов без замены:
  • Есть также несколько классов без замены:

Чтобы просмотреть весь список того, что было устаревшим, мы можем обратиться к официальному сайту Spring Boot 1.5.xJavaDoc .

3.3. Пружинный ботинок 2.0.x

  • org.springframework.boot.test.util.EnvironmentTestUtils |/– устарело в пользу TestPropertyValues org.springframework.boot.actuate.metrics.web.reactive.server.RouterFunctionMetrics
  • |/– устарел в пользу автоматически настроенного MetricsWebFilter

И у одного класса нет замены:

  • И у одного класса нет замены:

Пожалуйста, ознакомьтесь со списком устаревших для Spring Boot 2.0.x для получения более подробной информации.

3.4. Пружинный ботинок 2.1.x

  • org.springframework.boot.actuate.здоровье.CompositeHealthIndicatorFactory |/– устарел в пользу CompositeHealthIndicator.CompositeHealthIndicator(HealthAggregator, HealthIndicatorRegistry) org.springframework.boot.actuate.здоровье.CompositeReactiveHealthIndicatorFactory
  • |/– устарел в пользу CompositeReactiveHealthIndicator.CompositeReactiveHealthIndicator(HealthAggregator, ReactiveHealthIndicatorRegistry)

Наконец, мы можем ознакомиться с полным списком устаревших классов и интерфейсов в Spring Boot 2.1.x .

4. Заключение

В этом уроке мы изучили устаревшие классы в Spring начиная с версии 4 и Spring Boot с версии 1.4, а также их соответствующие замены, если таковые имеются.