본문 바로가기

Study/Java

Spring Boot 3.5 Release Notes

반응형

전체 Release Notes 목록은 이곳에서 확인할 수 있습니다.

https://luvstudy.tistory.com/tag/Release%20Notes


https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.5-Release-Notes
13 revision 기준으로 작성됨

Upgrading from Spring Boot 3.4

spring-boot-parent

spring-boot-parent module 은 더 이상 publish 되지 않습니다.
이 module은 Spring Boot 자체 test 등에서 사용되는 내부 dependency에 대한 dependency management를 제공합니다.
spring-boot-parent 를 사용 중이었다면 application의 요구 사항을 충족하는 자체 dependency management로 교체하세요.

Actuator 'heapdump' Endpoint

heapdump actuator endpoint는 이제 default로 access=NONE 으로 설정됩니다..
이는 잘못된 구성으로 인해 민감한 정보가 유출될 가능성을 줄이는데 도움이 됩니다.

사용하려면 이제 expose 설정을 하고 access 설정도 해야 합니다. (이전에는 expose만 설정하면 됐습니다.)

다음 구성을 참고하세요.

management:
  endpoints:
    web:
      exposure:
        include: heapdump
  endpoint:
    heapdump:
      access: unrestricted

Using '.enabled' and Other Boolean Configuration Properties

이번 release에서는 .enabled properties에 지원되는 값이 더욱 강화되어 일관성이 향상되었습니다.
이제 값은 true 또는 false 여야 합니다.

이전 버전의 Spring Boot에서는 false 외의 모든 값을 고려하는 조건을 사용하는 경우가 있었습니다.

Validation of Profile Naming

이번 release에서는 profile naming 규칙이 더욱 강화되어 일관성이 향상되었습니다.
profile에는 이제 - (dash), _ (underscore), 문자 및 숫자만 사용할 수 있습니다.

또한 profile은 - 또는 _ 로 시작하거나 끝날 수 없습니다.

Follow Redirects with TestRestTemplate

이제 TestRestTemplate 은 일반 RestTemplate 과 동일한 redirect 설정을 사용합니다.

HttpOption.ENABLE_REDIRECTS 옵션도 더 이상 지원되지 않습니다.

새로운 기본 설정으로 인해 테스트에 문제가 발생하는 경우 TestRestTemplate.withRedirects(...) method를 사용하여 대체 redirect strategy를 선택할 수 있습니다.

Auto-configured TaskExecutor Names

이전에는 Spring Boot에서 TaskExecutortaskExecutorapplicationTaskExecutor bean name으로 auto-configure 했습니다.
이번 release에서는 applicationTaskExecutor bean name만 제공됩니다.
Executor name으로 auto-configure 요청하는 코드는 applicationTaskExecutor 를 사용하도록 수정해야 합니다.

이 동작에 의존하고 즉시 변경할 수 없는 경우 다음 예와 같이 BeanFactoryPostProcessor 를 사용하여 alias를 추가할 수 있습니다:

@Configuration
public class MyConfiguration {

    @Bean
    static BeanFactoryPostProcessor taskExecutorAliasBeanFactoryPostProcessor() {
        return (beanFactory) -> beanFactory.registerAlias("applicationTaskExecutor", "taskExecutor");
    }

}

Groovy Template Configuration Properties

spring.groovy.template.configuration.* proeprties는 신규 및 기존에 존재하던 spring.groovy.template.* properties로 인해 더 이상 사용되지 않습니다.
자세한 내용은 configuration-changelog 을 참조하세요.

Redis

spring.data.redis.url 를 구성하면 URL에 따라 사용되는 Redis database가 결정됩니다.
URL에 database가 지정되지 않으면 기본 값 0 이 사용됩니다.

spring.data.redis.url 이 구성되면 spring.data.redis.database property는 무시되고, 해당 속성의 동작이 host, port, username 및 password properties에 맞춰집니다.

Prometheus Pushgateway

Prometheus Pushgateway 에 metric을 push 하려면 이제 io.prometheus:simpleclient_pushgateway 대신 io.prometheus:prometheus-metrics-exporter-pushgateway 가 필요합니다.

새 client의 Pushgateway 지원에도 configuration 변경이 필요할 수 있습니다.

management.prometheus.metrics.export.pushgateway.base-url 를 사용하고 있었다면 management.prometheus.metrics.export.pushgateway.address 로 바꾸고 값을 조정하여 host:port 의 형태로 만드세요.

새로운 Pushgateway를 지원하기 위해 세 개의 새로운 properties가 추가되었습니다.

  • management.prometheus.metrics.export.pushgateway.format
  • management.prometheus.metrics.export.pushgateway.scheme
  • management.prometheus.metrics.export.pushgateway.token

metric을 push 할 때 SSL을 사용하려면 scheme property를 https 로 설정합니다.

token 기반 인증을 사용하려면 (기존 usernamepassword property 대신) token property를 설정하세요.
protobuf 대신 text로 metric을 push 하려면 format property를 text 로 설정하세요.

Native Test with Maven

nativeTest profile은 multi-module 프로젝트에 친화적 이도록 native profile과 조화를 이루게 되었습니다.
The nativeTest profile has been harmonized with native to make it friendly for multi-module projects.
Spring Boot 및 Native Build tools plugin이 프로젝트에 정의되어 있지 않으면 Native test 실행이 발생하지 않습니다.

이는 이미 native profile에서도 마찬가지입니다.

자세한 내용은 문서 를 참조하세요.

ECS Structured Logging JSON

ECS structure logging의 JSON 출력이 nested format을 사용하도록 업데이트되었습니다.
이는 JSON을 소비하는 backend와의 호환성을 향상할 것입니다.

배경 정보는 https://github.com/spring-projects/spring-boot/issues/45063 를 참조하세요

Deprecations from Spring Boot 3.3

Spring Boot 3.3에서 더 이상 사용되지 않고 3.5에서 삭제 예정이었던 class, method, properties가 이번 릴리스에서 삭제되었습니다.
upgrade 하기 전에 더 이상 사용되지 않는 method를 호출하거나 더 이상 사용되지 않는 기능을 사용하지 않는지 확인하세요.

Minimum Requirements Changes

None.

New and Noteworthy

TIP: configuration 변경 사항에 대한 완전한 개요는 구성 변경 로그를 확인하세요.

Annotations to Register Filter and Servlet

ServletRegistrationBeanFilterRegistrationBean의 annotation 기반 대안으로 두 가지 새로운 annotation이 추가되었습니다.
다음 예제와 같이 @ServletRegistrationServlet을 등록하는 데 사용할 수 있고, @FilterRegistrationFilter를 등록하는 데 사용할 수 있습니다:

@Configuration(proxyBeanMethods = false)
class MyConfiguration {

    @Bean
    @FilterRegistration(name = "my-filter", urlPatterns = "/test/*", order = 0)
    MyFilter myFilter() {
        return new MyFilter();
    }

}

또한, empty dispatcher type에 대한 FilterRegistrationBean의 동작이 조정되었습니다.

이전에는 empty DispatcherType set을 setDispatcherTypes method에 전달할 수 있었으며, 이 empty set은 서버로 전달되었습니다.
이제는 setDispatcherTypes(null)을 호출하는 것과 동일한 동작을 하며, 이는 FilterRegistration annotation과 일치합니다.

Load Properties From Environment Variables

environment variable에서 하나의 property를 로드하는 것이 이미 가능했지만, 이제는 single environment variable에서 여러 property들을 로드하는 것이 가능합니다.

예를 들어, 다음 내용을 가진 multi-line environment variable MY_CONFIGURATION:

my.var1=value1
my.var2=value2

은 이제 env: prefix를 사용하여 가져올 수 있습니다:

spring.config.import=env:MY_CONFIGURATION

이후, my.var1my.var2Environment에서 사용할 수 있습니다.

이 기능은 properties와 yaml 형식을 지원합니다.
자세한 내용은 문서 를 참조하세요.

Customizing Structured Logging Stack Traces

structured logs에 작성된 Stack Trace는 이제 size를 제한하거나 다른 format으로 출력하도록 사용자 정의할 수 있습니다.
stack trace 출력을 구성하기 위해 logging.structured.json.stacktrace.* 속성을 사용할 수 있습니다.

자세한 내용은 업데이트된 참조 문서를 참조하세요.

ClientHttpConnector Builder and Configuration Properties

WebClient 사용자는 이제 timeout 및 redirect 설정과 같은 global configuration에 proeprty를 사용할 수 있습니다.
이 기능은 Spring Boot 3.4에서 blocking clients를 위해 추가한 지원과 일치합니다.

자세한 내용은 업데이트된 참조 문서를 참조하세요.

새로운 속성 외에도, 새로운 ClientHttpConnectorBuilder interface를 사용하여 더 복잡한 사용자 정의를 할 수 있습니다.

SSL Support for Service Connections

선택된 service connection에 대한 client 측 SSL 지원이 추가되었습니다.
다음 service connection에 대해 지원됩니다:

  • Cassandra
  • Couchbase
  • Elasticsearch
  • Kafka
  • MongoDB
  • RabbitMQ
  • Redis

Testcontainers 및 Docker Compose 통합도 SSL 구성을 허용하도록 업데이트되었습니다.

Testcontainers의 경우 새로운 annotation을 사용할 수 있고, Docker Compose의 경우 label 을 사용할 수 있습니다.

Task Decoration for Scheduled Tasks

TaskDecorator bean이 있는 경우, 자동 구성된 taskScheduler bean에 적용됩니다.
또한 자동 구성된 ThreadPoolTaskSchedulerBuilderSimpleAsyncTaskSchedulerBuilder bean에도 적용됩니다.
이러한 builder를 사용하여 생성된 모든 schedulers에서 사용됩니다.

AsyncTaskExecutor with Custom Executor

Executor bean이 존재하더라도 Spring Boot는 이제 AsyncTaskExecutor를 자동 구성하도록 설정할 수 있습니다.
이를 위해 spring.task.execution.mode property를 force로 설정하세요.

이 mode로 실행할 때, 일반적인 @Async 처리를 포함한 모든 통합이 자동 구성된 executor를 사용하도록 보장합니다,
AsyncConfigurer bean이 정의되지 않은 경우에 한해서입니다.

OpenTelemetry

Spring Boot는 이제 OTEL_RESOURCE_ATTRIBUTESOTEL_SERVICE_NAME environment variable을 지원합니다.
configuration property를 통해 구성된 resource attribute는 environment variable의 property보다 우선합니다.

또한, service.namespace resource attribute에 대한 지원이 추가되었습니다.
이 attribute의 값은 spring.application.group configuration property에서 읽어옵니다.

service.group resource attribute에 대한 지원은 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다.

이제 사용자 정의 BatchSpanProcessor bean을 정의할 수 있습니다.

span export는 이제 management.tracing.opentelemetry.export prefix 아래에 새로 추가된 property 들로 구성할 수 있습니다.

Spring Batch

Spring Batch에서 사용하는 JobParametersConverter는 이제 해당 type의 bean을 정의하여 사용자 정의할 수 있습니다.
그러한 bean이 정의되지 않은 경우 이전과 같이 DefaultJobParametersConverter가 사용됩니다.

새로운 spring.batch.jdbc.validate-transaction-state property를 사용하여 transaction statie의 검증 여부를 제어할 수 있습니다.
기본 동작은 변경되지 않았으며 transaction state는 검증됩니다.

Ignore Properties When Using spring-boot-configuration-processor

spring-boot-configuration-processor를 사용할 때, 이제 META-INF/additional-spring-configuration-metadata.json 파일을 사용하여 property를 무시할 수 있습니다:

{
  "ignored": {
    "properties": [
      {
        "name": "my.age"
      }
    ]
  }
}

이렇게 하면 생성된 spring-configuration-metadata.json 파일에서 my.age가 제거됩니다.
또한 my.age가 무시되었다는 정보도 생성된 spring-configuration-metadata.json 파일에 기록됩니다.

OAuth 2 Client Auto-configuration

OAuth 2 client 자동 구성이 이제 더 많은 상황에서 적용되며 더 세분화되었습니다.

  • OAuth2ClientAutoConfiguration은 reactive web application이 아닌 다른 모든 것에서 OAuth 2 client 관련 bean을 구성합니다.
  • OAuth2ClientWebSecurityAutoConfiguration은 servlet web application에서 OAuth 2 client 기반 web security를 구성합니다.
  • ReactiveOAuth2ClientAutoConfiguration은 servlet web application이 아닌 다른 모든 것에서 reactive OAuth 2 client 관련 bean을 구성합니다.
  • ReactiveOAuth2ClientWebSecurityAutoConfiguration은 reactive web application에서 OAuth 2 client 기반 web security를 구성합니다.

Auto-configuration for Bean Background Initialization

Spring Boot는 이제 bootstrapExecutor라는 bean이 아직 없는 경우 자동으로 구성합니다.
이를 위해서는 context에 applicationTaskExecutor라는 bean이 있어야 하며, 이는 사용자 정의 Executor bean을 정의하지 않은 경우의 기본값입니다.

이를 통해 bean background initialization 을 즉시 사용할 수 있습니다.

Redis

spring.data.redis.lettuce.read-from property을 사용하여 ReadFrom 을 구성하는 지원이 추가되었습니다.

Liquibase

관리되는 Liquibase 버전은 이제 4.31.0입니다.
두 가지 새로운 Liquibase 속성이 추가되었습니다:

  • spring.liquibase.analytics-enabled – 제품 사용 데이터 및 분석 정보를 Liquibase에 전송할지 여부
  • spring.liquibase.license-key – Liquibase Pro license key

이러한 속성을 사용하려면 Liquibase 4.31.0 이상이 필요합니다.

Vibur Connection Pool

DataSourceBuilder를 사용하여 Vibur DBCP connection pool 을 구성하기 위한 지원이 추가되었습니다.
Dependency management도 org.vibur:vibur-dbcp를 포함하도록 업데이트되었습니다.

Testcontainers and Docker Compose support for lldap/lldap containers

lldap/lldap image를 사용하는 container는 이제 Docker Compose 및 Testcontainers와 함께 사용할 수 있습니다.
Testcontainers는 LLdapContainer로 이 image를 지원합니다.

Cloud Native Buildpacks

Ubuntu Noble

default builder가 paketobuildpacks/builder-noble-java-tiny로 변경되었습니다.
결과 이미지에는 shell이나 다른 utility 들이 포함되어 있지 않습니다.

shell이 필요한 경우 paketobuildpacks/ubuntu-noble-run-base를 run image로 사용할 수 있습니다.

Docker Config Authentication

Maven과 Gradle plugin 모두 이제 docker config.json 파일의 인증 설정을 사용하려고 시도합니다.
여기에는 MacOS keychain과 같은 것을 지원하기 위한 자격 증명 도우미 실행에 대한 지원이 포함됩니다.

Triggering Quartz Jobs From the Actuator

이제 Quartz Actuator endpoint를 사용하여 /actuator/quartz/jobs/\{groupName}/\{jobName} URL로 HTTP POST를 보내 Quartz 작업을 실행할 수 있습니다.

예제는 업데이트된 REST 문서 를 참조하세요.

SSL Bundle Metrics

Spring Boot Actuator는 이제 SSL bundle에 대한 metric을 제공합니다.

ssl.chains metric은 chain 수와 그 상태(valid, expired, soon-to-be-expired, not-yet-valid)를 계산합니다.

ssl.chain.expiry metric은 각 인증서 체인이 만료될 때까지의 초 단위로 추적합니다.
The metric ssl.chain.expiry tracks the number of seconds until expiry for each certificate chain.

Mappings Endpoint

mappings endpoint는 이제 WebMvc.fn router function 에 대한 정보를 포함합니다.

업데이트된 응답 구조에 대한 자세한 내용은 Actuator REST API 문서 를 참조하세요.

Dependency Upgrades

Spring Boot 3.5는 여러 Spring 프로젝트의 새 버전으로 이동합니다:

수많은 third-party dependency 들도 업데이트되었으며, 그중 주목할 만한 것은 다음과 같습니다:

Miscellaneous

위에 나열된 변경 사항 외에도 다음과 같은 많은 소소한 조정 및 개선 사항이 있습니다:

  • Postgres docker container의 application_name proerty은 이제 기본적으로 spring.application.name을 사용하여 구성됩니다.
  • Jackson에 대한 자동 구성은 추가된 모듈을 덮어쓰기보다는 실행 전에 추가된 모듈을 유지합니다.
  • Tomcat 커넥터의 최대 parameter 수는 server.tomcat.max-parameter-count property을 사용하여 구성할 수 있습니다.
  • Actuator의 process info contributor는 이제 JDK 24 이상에서 실행할 때 virtual thread 정보를 포함합니다.
  • ECS structured logging format은 이제 Logback과 Log4j의 marker를 tags field에 추가합니다.
  • Spring Boot는 이제 Logback 초기화 중에 콘솔에 오류 메시지를 출력하기 위해 Logback OnErrorConsoleStatusListener를 install 합니다.
  • ErrorAttributes에서 반환된 'error' 항목은 이제 안전한 JSON 직렬화를 보장하기 위해 모든 MessageSourceResolvable instance를 wrapping 합니다.
  • Zipkin 자동 구성은 이제 기본적으로 ZipkinHttpClientSender를 사용하며, HttpClient class를 사용할 수 없는 경우 URLConnectionSender가 사용됩니다.
  • 새로운 @ConditionalOnBooleanProperty annotation이 도입되었습니다.
  • Bitnami의 PostgreSQL image를 Docker Compose와 함께 사용할 때 empty password가 이제 지원됩니다.
    지원을 활성화하려면 container의 environment에 ALLOW_EMPTY_PASSWORD를 설정하세요.
  • 새로운 property management.server.accesslog.prefix를 사용하여 이제 관리 서버의 access log prefix를 사용자 정의할 수 있습니다.
  • AWS Advanced JDBC Wrapper는 이제 jdbc:aws-wrapper:… URL에서 자동 감지되므로 spring.datasource.driver-class-name을 구성할 필요가 없습니다.
  • 새로운 spring.validation.method.adapt-constraint-violations property를 true로 설정하여 ConstraintViolationMethodValidationResult로 적용할 수 있습니다.
  • io.micrometer:micrometer-java21이 classpath에 있으면 VirtualThreadsMetrics bean이 이제 자동으로 구성됩니다.
    • native image에서 실행할 때 더 이상 java.home system property가 사용되지 않습니다.
  • 새로운 property spring.jooq.config를 사용하여 외부 jOOQ settings.xml file 또는 resource를 지정할 수 있습니다.
  • TrustManagerFactory 또는 TrustManager에서 SslManagerBundle을 생성하기 위한 새로운 factory method가 SslManagerBundle에 추가되었습니다.
  • logging.structured.json.customizer property는 이제 여러 개의 사용자 정의자를 허용합니다.
  • 새로운 spring.r2dbc.pool.acquire-retry property가 추가되었습니다.
  • @ConditionalOnBean은 이제 generic @Bean return type을 지원합니다.
  • @ConditionalOnProperty@ConditionalOnBooleanProperty는 이제 @Repeatable 입니다.
  • spring.datasource.dbcp2, spring.datasource.hikari, spring.datasource.oracleucpspring.datasource.tomcat prefix를 가진 일부 바인딩 불가능한 property들이 spring-configuration-metadata.json에서 제거되었습니다.
  • 새로운 property spring.mvc.contentnegotiation.default-content-types를 사용하여 Spring MVC의 default content type을 구성할 수 있습니다.
  • servlet 및 reactive stack을 위한 EndpointRequest는 이제 HTTP method에 대한 매칭을 지원합니다.
  • SanitizingFunction은 이제 편리한 builder method를 제공합니다.
    예제로 SanitizingFunction.sanitizeValue()를 참고하세요.
  • @ConfigurationPropertiesBinding annotation이 달린 @Bean method는 이제 lambda로 구현할 수 있습니다.
  • ApplicationConversionService는 이제 converter @Bean method에서 generic type을 감지합니다.
  • CqlOperations bean은 이제 자동 구성되어 CassandraTemplate에서 내부적으로 사용됩니다.
  • ReactiveCqlOperations bean은 이제 자동 구성되어 ReactiveCassandraTemplate에서 내부적으로 사용됩니다.
  • ObjectDirectoryMapper bean은 이제 자동 구성되어 LdapTemplate에서 내부적으로 사용됩니다.
  • management.server.accesslog.prefixmanagement.server.{server}.accesslog.prefix로 이름이 변경되었으며, 여기서 {server}jetty, tomcat 또는 undertow일 수 있습니다.
  • 인증 예외 발생 후 재시도 간의 시간을 구성하기 위한 spring.kafka.listener.auth-exception-retry-interval 속성이 추가되었습니다.
  • Cloud Native Buildpack 통합을 위한 logging이 개선되었습니다.
  • MongoDB protocol을 사용자 정의할 수 있도록 새로운 property spring.data.mongodb.protocol이 추가되었습니다.
  • Logback 및 Log4j2는 이제 console charset을 존중합니다.
  • GraphQL의 transport-specific configuration property들이 재구성되었습니다.
    spring.graphql.path는 이제 spring.graphql.http.path 이며, spring.graphql.sse.timeoutspring.graphql.http.sse.timeout 으로 대체되었습니다.
  • Zipkin의 URLConnectionSender에 대한 지원이 제거되었습니다.
  • OtlpMetricsProperties.url의 기본 값이 제거되었습니다.
    그러나 Micrometer가 기본 값을 제공하므로 눈에 띄는 변경은 없을 것입니다.
  • 자동 구성된 JdbcTemplateignoreWarnings, skipResultsProcess, skipUndeclaredResultsresultsMapCaseInsensitive에 대한 추가 configuration property 들을 사용하여 더 사용자 정의할 수 있습니다.
  • 대부분의 경우 이제 classpath에 spring-jdbc 없이도 DataSource를 자동 구성할 수 있습니다.
    connection pool 없이 내장 데이터베이스를 사용하려면 여전히 spring-jdbc가 필요합니다.
  • property server.tomcat.use-apr의 기본값이 이제 never입니다.
    Tomcat의 APR을 사용하려면 속성을 when-available 또는 always로 설정하세요.
  • Spring Integration의 PollerMetadata를 사용자 정의하기 위한 PollerMetadataCustomizer가 추가되었습니다.
  • Garbage collector 정보가 actuator process 정보에 추가되었습니다.
  • Maven 경고를 제거하기 위해 BuildImage Maven mojo에서 readonly flag가 제거되었습니다.
  • server.servlet.session.cookie.same-site 또는 server.reactive.session.cookie.same-siteomitted로 설정하여 session cookie에서 SameSite 속성을 생략할 수 있습니다.
  • MeterProvider bean은 이제 OtlpHttpLogRecordExporter, OtlpHttpSpanExporter, OtlpGrpcLogRecordExporterOtlpGrpcSpanExporter에 자동으로 구성됩니다.
  • Spring LDAP의 referral mode는 새로운 spring.ldap.referral property로 구성할 수 있습니다.
  • OtlpHttpSpanExporterBuilderOtlpGrpcSpanExporterBuilder를 위한 사용자 정의자가 추가되었습니다.
  • 새로운 property spring.kafka.consumer.max-poll-interval을 사용하여 Kafka의 poll invocation의 최대 지연 시간을 구성할 수 있습니다.
  • 실제로 필요하지 않아서 RECORD_COMPONENT@DefaultValue의 대상에서 제거되었습니다.
  • 자동 구성된 RestClientSsl bean은 이제 HttpClientProperties의 구성을 덮어쓰지 않고 그 위에 구축됩니다.
  • RestClientAutoConfiguration은 이제 virtual thread를 사용하고 applicationTaskExecutor bean을 가진 reactive web application에 적용됩니다.
  • 자동 구성된 OtlpMeterRegistry는 이제 제공된 모든 OtlpMetricsSender bean을 적용합니다.
  • 이제 meter registry 별로 histogram-flavor 및 max-buckets을 설정할 수 있습니다.
  • context data가 logging 되지 않거나 다른 위치에 logging 되도록 허용하기 위해 logging.structured.json.context 아래에 추가 property들이 추가되었습니다.
  • 테스트 실패 시 세부 정보를 출력하지 않으려는 경우 false로 설정할 수 있는 새로운 spring.test.print-condition-evaluation-report property가 추가되었습니다.

Deprecations in Spring Boot 3.5.0

  • ConditionalOutcome.inverse(...)는 유용한 메시지를 생성하지 않으므로 제거 예정으로 지원 중단되었습니다
  • SignalFX 지원은 Micrometer의 지원 중단 에 따라 지원 중단되었습니다.
  • org.springframework.boot.autoconfigure.security.servlet.RequestMatcherProviderorg.springframework.boot.actuate.autoconfigure.security.servlet.RequestMatcherProvider로 이동하기 위해 지원 중단되었습니다.
  • org.springframework.boot.autoconfigure.security.oauth2.client.ClientsConfiguredCondition@org.springframework.boot.autoconfigure.security.oauth2.client.ConditionalOnOAuth2ClientRegistrationProperties로 대체되어 지원 중단되었습니다.
  • org.springframework.boot.autoconfigure.security.oauth2.resource.IssuerUriCondition@org.springframework.boot.autoconfigure.security.oauth2.resource.ConditionalOnIssuerLocationJwtDecoder로 대체되어 지원 중단되었습니다.
  • org.springframework.boot.autoconfigure.security.oauth2.resource.KeyValueCondition@org.springframework.boot.autoconfigure.security.oauth2.resource.ConditionalOnPublicKeyJwtDecoder로 대체되어 지원 중단되었습니다.
  • org.springframework.boot.devtools.autoconfigure.OnEnabledDevToolsCondition@org.springframework.boot.devtools.autoconfigure.ConditionalOnEnabledDevTools로 대체되어 지원 중단되었습니다.
  • configuration property spring.mvc.converters.preferred-json-mapper는 지원 중단되었습니다.
    이는 spring.http.converters.preferred-json-mapper로 대체되었습니다.
  • configuration property spring.codec.log-request-detailsspring.codec.max-in-memory-size는 지원 중단되었습니다.
    이들은 각각 spring.http.codecs.log-request-detailsspring.http.codecs.max-in-memory-size로 대체되었습니다.
  • org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfigurationorg.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientAutoConfiguration로 대체되어 지원 중단되었습니다.
  • org.springframework.boot.logging.LoggingSystemProperties.getDefaultCharset()getDefaultConsoleCharset() 또는 getDefaultFileCharset()로 대체되어 지원 중단되었습니다.
  • ThreadPoolTaskSchedulerBuilder의 multi-parameter 기반 constroctor는 default constructor로 대체되어 지원 중단되었습니다.
  • org.springframework.boot.autoconfigure.condition.ConditionOutcome.inverse(ConditionOutcome)는 새로운 ConditionOutcome 생성으로 대체되어 지원 중단되었습니다.
  • KafkaConnectionDetails...BootstrapServers method는 chain method 호출 사용으로 대체되어 지원 중단되었습니다.
  • ConnectionDetailsFactories default constructor는 class loader를 허용하는 버전으로 대체되어 지원 중단되었습니다.
  • OnEnabledDevToolsCondition@ConditionalOnEnabledDevTools annotation으로 대체되어 지원 중단되었습니다.
반응형