From 379b2ceb56ac740d4f4ffc4d58db470f2eb383ac Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 14 May 2025 10:21:30 +0100 Subject: [PATCH] Fix Eclipse warnings caused by deprecation of Jackson 2 support See gh-45535 --- ...ndpointManagementContextConfiguration.java | 10 +++---- ...ndpointManagementContextConfiguration.java | 10 +++---- .../boot/actuate/audit/AuditEventTests.java | 8 +++--- .../BackgroundPreinitializer.java | 7 ++--- .../GraphQlRSocketAutoConfiguration.java | 5 ++-- ...sonHttpMessageConvertersConfiguration.java | 5 ++-- .../http/HttpMessageConverters.java | 5 ++-- ...onbHttpMessageConvertersConfiguration.java | 4 +-- .../http/codec/CodecsAutoConfiguration.java | 10 +++---- .../RSocketStrategiesAutoConfiguration.java | 28 +++++++++---------- .../WebSocketMessagingAutoConfiguration.java | 8 +++--- ...positoryRestMvcAutoConfigurationTests.java | 9 +++--- .../HypermediaAutoConfigurationTests.java | 7 ++--- ...ocketStrategiesAutoConfigurationTests.java | 16 +++++------ .../GraphQlTesterAutoConfiguration.java | 11 ++++---- .../servlet/WebMvcTypeExcludeFilterTests.java | 6 ++-- 16 files changed, 70 insertions(+), 79 deletions(-) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/reactive/WebFluxEndpointManagementContextConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/reactive/WebFluxEndpointManagementContextConfiguration.java index 76263c710fb..573f7fc3b58 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/reactive/WebFluxEndpointManagementContextConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/reactive/WebFluxEndpointManagementContextConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2024 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -65,7 +65,6 @@ import org.springframework.http.MediaType; import org.springframework.http.codec.EncoderHttpMessageWriter; import org.springframework.http.codec.HttpMessageWriter; import org.springframework.http.codec.ServerCodecConfigurer; -import org.springframework.http.codec.json.Jackson2JsonEncoder; import org.springframework.http.server.reactive.HttpHandler; import org.springframework.util.StringUtils; import org.springframework.util.function.SingletonSupplier; @@ -150,7 +149,8 @@ public class WebFluxEndpointManagementContextConfiguration { /** * {@link BeanPostProcessor} to apply {@link EndpointObjectMapper} for - * {@link OperationResponseBody} to {@link Jackson2JsonEncoder} instances. + * {@link OperationResponseBody} to + * {@link org.springframework.http.codec.json.Jackson2JsonEncoder} instances. */ static class ServerCodecConfigurerEndpointObjectMapperBeanPostProcessor implements BeanPostProcessor { @@ -180,9 +180,9 @@ public class WebFluxEndpointManagementContextConfiguration { } } - @SuppressWarnings("removal") + @SuppressWarnings({ "removal", "deprecation" }) private void process(Encoder encoder) { - if (encoder instanceof Jackson2JsonEncoder jackson2JsonEncoder) { + if (encoder instanceof org.springframework.http.codec.json.Jackson2JsonEncoder jackson2JsonEncoder) { jackson2JsonEncoder.registerObjectMappersForType(OperationResponseBody.class, (associations) -> { ObjectMapper objectMapper = this.endpointObjectMapper.get().get(); MEDIA_TYPES.forEach((mimeType) -> associations.put(mimeType, objectMapper)); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/servlet/WebMvcEndpointManagementContextConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/servlet/WebMvcEndpointManagementContextConfiguration.java index d94d2d7a904..0ef4f605bc1 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/servlet/WebMvcEndpointManagementContextConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/servlet/WebMvcEndpointManagementContextConfiguration.java @@ -58,7 +58,6 @@ import org.springframework.context.annotation.Role; import org.springframework.core.env.Environment; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.util.StringUtils; import org.springframework.web.servlet.DispatcherServlet; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @@ -148,7 +147,8 @@ public class WebMvcEndpointManagementContextConfiguration { /** * {@link WebMvcConfigurer} to apply {@link EndpointObjectMapper} for - * {@link OperationResponseBody} to {@link MappingJackson2HttpMessageConverter} + * {@link OperationResponseBody} to + * {@link org.springframework.http.converter.json.MappingJackson2HttpMessageConverter} * instances. */ @SuppressWarnings("removal") @@ -166,14 +166,14 @@ public class WebMvcEndpointManagementContextConfiguration { @Override public void configureMessageConverters(List> converters) { for (HttpMessageConverter converter : converters) { - if (converter instanceof MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter) { + if (converter instanceof org.springframework.http.converter.json.MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter) { configure(mappingJackson2HttpMessageConverter); } } } - @SuppressWarnings("removal") - private void configure(MappingJackson2HttpMessageConverter converter) { + @SuppressWarnings({ "removal", "deprecation" }) + private void configure(org.springframework.http.converter.json.MappingJackson2HttpMessageConverter converter) { converter.registerObjectMappersForType(OperationResponseBody.class, (associations) -> { ObjectMapper objectMapper = this.endpointObjectMapper.get(); MEDIA_TYPES.forEach((mimeType) -> associations.put(mimeType, objectMapper)); diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/audit/AuditEventTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/audit/AuditEventTests.java index ce9338f120e..1ba14368750 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/audit/AuditEventTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/audit/AuditEventTests.java @@ -21,8 +21,6 @@ import java.util.Collections; import org.json.JSONObject; import org.junit.jupiter.api.Test; -import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; - import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; @@ -71,11 +69,13 @@ class AuditEventTests { } @Test - @SuppressWarnings("removal") + @SuppressWarnings({ "removal", "deprecation" }) void jsonFormat() throws Exception { AuditEvent event = new AuditEvent("johannes", "UNKNOWN", Collections.singletonMap("type", (Object) "BadCredentials")); - String json = Jackson2ObjectMapperBuilder.json().build().writeValueAsString(event); + String json = org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.json() + .build() + .writeValueAsString(event); JSONObject jsonObject = new JSONObject(json); assertThat(jsonObject.getString("type")).isEqualTo("UNKNOWN"); assertThat(jsonObject.getJSONObject("data").getString("type")).isEqualTo("BadCredentials"); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/BackgroundPreinitializer.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/BackgroundPreinitializer.java index 60e1b7f3fca..af3cf160c4f 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/BackgroundPreinitializer.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/BackgroundPreinitializer.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2024 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -35,7 +35,6 @@ import org.springframework.context.ApplicationListener; import org.springframework.core.NativeDetector; import org.springframework.core.Ordered; import org.springframework.format.support.DefaultFormattingConversionService; -import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; import org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter; /** @@ -164,12 +163,12 @@ public class BackgroundPreinitializer implements ApplicationListener interceptors, ObjectMapper objectMapper) { return new GraphQlRSocketHandler(graphQlService, interceptors.orderedStream().toList(), - new Jackson2JsonEncoder(objectMapper)); + new org.springframework.http.codec.json.Jackson2JsonEncoder(objectMapper)); } @Bean diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/GsonHttpMessageConvertersConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/GsonHttpMessageConvertersConfiguration.java index a206a9419b0..8040a2e1164 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/GsonHttpMessageConvertersConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/GsonHttpMessageConvertersConfiguration.java @@ -28,7 +28,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.json.GsonHttpMessageConverter; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; /** * Configuration for HTTP Message converters that use Gson. @@ -79,8 +78,8 @@ class GsonHttpMessageConvertersConfiguration { super(ConfigurationPhase.REGISTER_BEAN); } - @SuppressWarnings("removal") - @ConditionalOnBean(MappingJackson2HttpMessageConverter.class) + @SuppressWarnings({ "deprecation", "removal" }) + @ConditionalOnBean(org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.class) static class JacksonAvailable { } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/HttpMessageConverters.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/HttpMessageConverters.java index a3094a5cdc0..56fd04b38b7 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/HttpMessageConverters.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/HttpMessageConverters.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2022 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,7 +28,6 @@ import java.util.Map; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter; import org.springframework.http.converter.xml.AbstractXmlHttpMessageConverter; -import org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter; import org.springframework.util.ClassUtils; import org.springframework.web.client.RestTemplate; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; @@ -206,7 +205,7 @@ public class HttpMessageConverters implements Iterable> for (Iterator> iterator = converters.iterator(); iterator.hasNext();) { HttpMessageConverter converter = iterator.next(); if ((converter instanceof AbstractXmlHttpMessageConverter) - || (converter instanceof MappingJackson2XmlHttpMessageConverter)) { + || (converter instanceof org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter)) { xml.add(converter); iterator.remove(); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/JsonbHttpMessageConvertersConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/JsonbHttpMessageConvertersConfiguration.java index 5688f3e4a9d..be86e711739 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/JsonbHttpMessageConvertersConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/JsonbHttpMessageConvertersConfiguration.java @@ -28,7 +28,6 @@ import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.json.GsonHttpMessageConverter; import org.springframework.http.converter.json.JsonbHttpMessageConverter; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; /** * Configuration for HTTP Message converters that use JSON-B. @@ -66,7 +65,8 @@ class JsonbHttpMessageConvertersConfiguration { } @SuppressWarnings("removal") - @ConditionalOnMissingBean({ MappingJackson2HttpMessageConverter.class, GsonHttpMessageConverter.class }) + @ConditionalOnMissingBean({ org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.class, + GsonHttpMessageConverter.class }) static class JacksonAndGsonMissing { } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/codec/CodecsAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/codec/CodecsAutoConfiguration.java index 4674e4ee98c..68457b3bba5 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/codec/CodecsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/codec/CodecsAutoConfiguration.java @@ -32,8 +32,6 @@ import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.core.env.Environment; import org.springframework.http.codec.CodecConfigurer; -import org.springframework.http.codec.json.Jackson2JsonDecoder; -import org.springframework.http.codec.json.Jackson2JsonEncoder; import org.springframework.util.MimeType; import org.springframework.util.unit.DataSize; import org.springframework.web.reactive.function.client.WebClient; @@ -54,7 +52,7 @@ public class CodecsAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(ObjectMapper.class) - @SuppressWarnings("removal") + @SuppressWarnings({ "removal", "deprecation" }) static class JacksonCodecConfiguration { @Bean @@ -63,8 +61,10 @@ public class CodecsAutoConfiguration { CodecCustomizer jacksonCodecCustomizer(ObjectMapper objectMapper) { return (configurer) -> { CodecConfigurer.DefaultCodecs defaults = configurer.defaultCodecs(); - defaults.jackson2JsonDecoder(new Jackson2JsonDecoder(objectMapper, EMPTY_MIME_TYPES)); - defaults.jackson2JsonEncoder(new Jackson2JsonEncoder(objectMapper, EMPTY_MIME_TYPES)); + defaults.jackson2JsonDecoder( + new org.springframework.http.codec.json.Jackson2JsonDecoder(objectMapper, EMPTY_MIME_TYPES)); + defaults.jackson2JsonEncoder( + new org.springframework.http.codec.json.Jackson2JsonEncoder(objectMapper, EMPTY_MIME_TYPES)); }; } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfiguration.java index eb1995026d5..ecac74c7b48 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2022 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,11 +32,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import org.springframework.http.MediaType; -import org.springframework.http.codec.cbor.Jackson2CborDecoder; -import org.springframework.http.codec.cbor.Jackson2CborEncoder; -import org.springframework.http.codec.json.Jackson2JsonDecoder; -import org.springframework.http.codec.json.Jackson2JsonEncoder; -import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; import org.springframework.messaging.rsocket.RSocketStrategies; import org.springframework.util.ClassUtils; import org.springframework.web.util.pattern.PathPatternRouteMatcher; @@ -66,19 +61,22 @@ public class RSocketStrategiesAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ ObjectMapper.class, CBORFactory.class }) - @SuppressWarnings("removal") + @SuppressWarnings({ "removal", "deprecation" }) protected static class JacksonCborStrategyConfiguration { private static final MediaType[] SUPPORTED_TYPES = { MediaType.APPLICATION_CBOR }; @Bean @Order(0) - @ConditionalOnBean(Jackson2ObjectMapperBuilder.class) - public RSocketStrategiesCustomizer jacksonCborRSocketStrategyCustomizer(Jackson2ObjectMapperBuilder builder) { + @ConditionalOnBean(org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.class) + public RSocketStrategiesCustomizer jacksonCborRSocketStrategyCustomizer( + org.springframework.http.converter.json.Jackson2ObjectMapperBuilder builder) { return (strategy) -> { ObjectMapper objectMapper = builder.createXmlMapper(false).factory(new CBORFactory()).build(); - strategy.decoder(new Jackson2CborDecoder(objectMapper, SUPPORTED_TYPES)); - strategy.encoder(new Jackson2CborEncoder(objectMapper, SUPPORTED_TYPES)); + strategy.decoder( + new org.springframework.http.codec.cbor.Jackson2CborDecoder(objectMapper, SUPPORTED_TYPES)); + strategy.encoder( + new org.springframework.http.codec.cbor.Jackson2CborEncoder(objectMapper, SUPPORTED_TYPES)); }; } @@ -86,7 +84,7 @@ public class RSocketStrategiesAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(ObjectMapper.class) - @SuppressWarnings("removal") + @SuppressWarnings({ "removal", "deprecation" }) protected static class JacksonJsonStrategyConfiguration { private static final MediaType[] SUPPORTED_TYPES = { MediaType.APPLICATION_JSON, @@ -97,8 +95,10 @@ public class RSocketStrategiesAutoConfiguration { @ConditionalOnBean(ObjectMapper.class) public RSocketStrategiesCustomizer jacksonJsonRSocketStrategyCustomizer(ObjectMapper objectMapper) { return (strategy) -> { - strategy.decoder(new Jackson2JsonDecoder(objectMapper, SUPPORTED_TYPES)); - strategy.encoder(new Jackson2JsonEncoder(objectMapper, SUPPORTED_TYPES)); + strategy.decoder( + new org.springframework.http.codec.json.Jackson2JsonDecoder(objectMapper, SUPPORTED_TYPES)); + strategy.encoder( + new org.springframework.http.codec.json.Jackson2JsonEncoder(objectMapper, SUPPORTED_TYPES)); }; } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketMessagingAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketMessagingAutoConfiguration.java index 47deab5aae5..4a07960fc4d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketMessagingAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketMessagingAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2024 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,7 +36,6 @@ import org.springframework.core.annotation.Order; import org.springframework.core.task.AsyncTaskExecutor; import org.springframework.messaging.converter.ByteArrayMessageConverter; import org.springframework.messaging.converter.DefaultContentTypeResolver; -import org.springframework.messaging.converter.MappingJackson2MessageConverter; import org.springframework.messaging.converter.MessageConverter; import org.springframework.messaging.converter.StringMessageConverter; import org.springframework.messaging.simp.config.AbstractMessageBrokerConfiguration; @@ -83,8 +82,9 @@ public class WebSocketMessagingAutoConfiguration { @Override public boolean configureMessageConverters(List messageConverters) { - @SuppressWarnings("removal") - MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter(this.objectMapper); + @SuppressWarnings({ "removal", "deprecation" }) + org.springframework.messaging.converter.MappingJackson2MessageConverter converter = new org.springframework.messaging.converter.MappingJackson2MessageConverter( + this.objectMapper); DefaultContentTypeResolver resolver = new DefaultContentTypeResolver(); resolver.setDefaultMimeType(MimeTypeUtils.APPLICATION_JSON); converter.setContentTypeResolver(resolver); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfigurationTests.java index 65a56a09cbb..90722d47d77 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -40,7 +40,6 @@ import org.springframework.data.rest.webmvc.BaseUri; import org.springframework.data.rest.webmvc.config.RepositoryRestConfigurer; import org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration; import org.springframework.http.MediaType; -import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; import org.springframework.mock.web.MockServletContext; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.EnableWebMvc; @@ -161,12 +160,12 @@ class RepositoryRestMvcAutoConfigurationTests { @Configuration(proxyBeanMethods = false) @TestAutoConfigurationPackage(City.class) @EnableWebMvc - @SuppressWarnings("removal") + @SuppressWarnings({ "removal", "deprecation" }) static class TestConfigurationWithObjectMapperBuilder { @Bean - Jackson2ObjectMapperBuilder objectMapperBuilder() { - Jackson2ObjectMapperBuilder objectMapperBuilder = new Jackson2ObjectMapperBuilder(); + org.springframework.http.converter.json.Jackson2ObjectMapperBuilder objectMapperBuilder() { + org.springframework.http.converter.json.Jackson2ObjectMapperBuilder objectMapperBuilder = new org.springframework.http.converter.json.Jackson2ObjectMapperBuilder(); objectMapperBuilder.simpleDateFormat("yyyy-MM"); return objectMapperBuilder; } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/hateoas/HypermediaAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/hateoas/HypermediaAutoConfigurationTests.java index 06f68df6e59..676b5999a86 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/hateoas/HypermediaAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/hateoas/HypermediaAutoConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -38,7 +38,6 @@ import org.springframework.hateoas.mediatype.hal.HalLinkDiscoverer; import org.springframework.hateoas.server.EntityLinks; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter; import static org.assertj.core.api.Assertions.assertThat; @@ -94,7 +93,7 @@ class HypermediaAutoConfigurationTests { RequestMappingHandlerAdapter handlerAdapter = context.getBean(RequestMappingHandlerAdapter.class); Optional> mappingJacksonConverter = handlerAdapter.getMessageConverters() .stream() - .filter(MappingJackson2HttpMessageConverter.class::isInstance) + .filter(org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.class::isInstance) .findFirst(); assertThat(mappingJacksonConverter).hasValueSatisfying( (converter) -> assertThat(converter.canWrite(RepresentationModel.class, MediaType.APPLICATION_JSON)) @@ -110,7 +109,7 @@ class HypermediaAutoConfigurationTests { RequestMappingHandlerAdapter handlerAdapter = context.getBean(RequestMappingHandlerAdapter.class); Optional> mappingJacksonConverter = handlerAdapter.getMessageConverters() .stream() - .filter(MappingJackson2HttpMessageConverter.class::isInstance) + .filter(org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.class::isInstance) .findFirst(); assertThat(mappingJacksonConverter).hasValueSatisfying((converter) -> assertThat( converter.canWrite(RepresentationModel.class, MediaType.APPLICATION_JSON)) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfigurationTests.java index ad7bfe53fa0..008e0af9dbe 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,10 +28,6 @@ import org.springframework.core.codec.CharSequenceEncoder; import org.springframework.core.codec.Decoder; import org.springframework.core.codec.Encoder; import org.springframework.core.codec.StringDecoder; -import org.springframework.http.codec.cbor.Jackson2CborDecoder; -import org.springframework.http.codec.cbor.Jackson2CborEncoder; -import org.springframework.http.codec.json.Jackson2JsonDecoder; -import org.springframework.http.codec.json.Jackson2JsonEncoder; import org.springframework.messaging.rsocket.RSocketStrategies; import org.springframework.web.util.pattern.PathPatternRouteMatcher; @@ -54,10 +50,12 @@ class RSocketStrategiesAutoConfigurationTests { this.contextRunner.run((context) -> { assertThat(context).getBeans(RSocketStrategies.class).hasSize(1); RSocketStrategies strategies = context.getBean(RSocketStrategies.class); - assertThat(strategies.decoders()).hasAtLeastOneElementOfType(Jackson2CborDecoder.class) - .hasAtLeastOneElementOfType(Jackson2JsonDecoder.class); - assertThat(strategies.encoders()).hasAtLeastOneElementOfType(Jackson2CborEncoder.class) - .hasAtLeastOneElementOfType(Jackson2JsonEncoder.class); + assertThat(strategies.decoders()) + .hasAtLeastOneElementOfType(org.springframework.http.codec.cbor.Jackson2CborDecoder.class) + .hasAtLeastOneElementOfType(org.springframework.http.codec.json.Jackson2JsonDecoder.class); + assertThat(strategies.encoders()) + .hasAtLeastOneElementOfType(org.springframework.http.codec.cbor.Jackson2CborEncoder.class) + .hasAtLeastOneElementOfType(org.springframework.http.codec.json.Jackson2JsonEncoder.class); assertThat(strategies.routeMatcher()).isInstanceOf(PathPatternRouteMatcher.class); }); } diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/graphql/tester/GraphQlTesterAutoConfiguration.java b/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/graphql/tester/GraphQlTesterAutoConfiguration.java index a1782bb5f02..b553c575e72 100644 --- a/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/graphql/tester/GraphQlTesterAutoConfiguration.java +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/graphql/tester/GraphQlTesterAutoConfiguration.java @@ -31,8 +31,6 @@ import org.springframework.graphql.ExecutionGraphQlService; import org.springframework.graphql.test.tester.ExecutionGraphQlServiceTester; import org.springframework.graphql.test.tester.GraphQlTester; import org.springframework.http.MediaType; -import org.springframework.http.codec.json.Jackson2JsonDecoder; -import org.springframework.http.codec.json.Jackson2JsonEncoder; /** * Auto-configuration for {@link GraphQlTester}. @@ -49,14 +47,15 @@ public class GraphQlTesterAutoConfiguration { @Bean @ConditionalOnBean(ExecutionGraphQlService.class) @ConditionalOnMissingBean - @SuppressWarnings("removal") + @SuppressWarnings({ "removal", "deprecation" }) public ExecutionGraphQlServiceTester graphQlTester(ExecutionGraphQlService graphQlService, ObjectProvider objectMapperProvider) { ExecutionGraphQlServiceTester.Builder builder = ExecutionGraphQlServiceTester.builder(graphQlService); objectMapperProvider.ifAvailable((objectMapper) -> { - builder.encoder(new Jackson2JsonEncoder(objectMapper, MediaType.APPLICATION_GRAPHQL_RESPONSE, - MediaType.APPLICATION_JSON, APPLICATION_GRAPHQL)); - builder.decoder(new Jackson2JsonDecoder(objectMapper, MediaType.APPLICATION_JSON)); + builder.encoder(new org.springframework.http.codec.json.Jackson2JsonEncoder(objectMapper, + MediaType.APPLICATION_GRAPHQL_RESPONSE, MediaType.APPLICATION_JSON, APPLICATION_GRAPHQL)); + builder.decoder(new org.springframework.http.codec.json.Jackson2JsonDecoder(objectMapper, + MediaType.APPLICATION_JSON)); }); return builder.build(); } diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/web/servlet/WebMvcTypeExcludeFilterTests.java b/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/web/servlet/WebMvcTypeExcludeFilterTests.java index 8c5a227a80e..ea10615377a 100644 --- a/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/web/servlet/WebMvcTypeExcludeFilterTests.java +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/web/servlet/WebMvcTypeExcludeFilterTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2022 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,7 +28,6 @@ import org.springframework.context.annotation.FilterType; import org.springframework.core.type.classreading.MetadataReader; import org.springframework.core.type.classreading.MetadataReaderFactory; import org.springframework.core.type.classreading.SimpleMetadataReaderFactory; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.security.web.SecurityFilterChain; import org.springframework.stereotype.Controller; import org.springframework.stereotype.Repository; @@ -187,7 +186,8 @@ class WebMvcTypeExcludeFilterTests { } @SuppressWarnings("removal") - static class ExampleMessageConverter extends MappingJackson2HttpMessageConverter { + static class ExampleMessageConverter + extends org.springframework.http.converter.json.MappingJackson2HttpMessageConverter { }