New Score :0
High Score :0
Run Best
NICE BUSINESS TYPE INDICATOR
3. ๊ธ์ ์ ์น๊ตฌ์๊ฒ ๋น๋ ธ๋๋ฐ ์ค๋์ด ๋์ ์ฃผ๊ธฐ๋ก ํ๋ .. ๊ทธ๋ฐ๋ฐ ์นด๋๊ฐ์ ๋ด์ผํ๋ ๋ ๋ ์ค๋์ธ๋ฐ... ์ด๊ฑธ ์ด์ฉ๋...
4. ์ฐ๋ฆฌ ํ์ฌ๋ ์ค์ํ ์์ฌ ๊ฒฐ์ ์ ํ ๋?
5. ์ด์ฌํ ์ผํ ๋๋ฅผ ์ํ ์ ๋ฌผ์ ์ฃผ๊ณ ์ถ๋ค. ์ด๋ค๊ฒ ์ข์๊น?
6. ์ํ์์ ํฌ์์ํ์ ์ถ์ฒ๋ฐ์๋ค. ์ด๋ค๊ฑธ ๊ฐ์ ํ์ง?
7. ํ์ฌ์์์ ๋๋?
8. ๊ฟ์์ ๊นจ์ด๋๋ 20๋ ์ ์ผ๋ก ๋์๊ฐ๋ค. ๋น์ ์ด ์ ์ผ ๋จผ์ ํ๋์ผ์?
9. ๋ด๊ฐ ์ธ์ฌ ๋ด๋น์๋ผ๋ฉด ์ ๊ท ์ ์ฌ์ ์ฑ์ฉ ์ ์ ์ผ ์ค์ํ๊ฒ ๋ณด๋๊ฒ์?
10. ํ์ฌ์ ์ ๋ง ์ซ์ดํ๋ ๋๋ฃ๊ฐ ์๋ค๋ฉด?
11. ๊ฐ๋ํ ์ง์ ๊ฐ์ฅ์ด ๋์๋ค.. ์๋ ์ ์์ผ ๋ ์ ๋ฌผ์?
12. ํ์ ํ์ฌ ์ถ๊ทผ ์คํ์ผ์?
13.ํ์ฌ ์ฒด์ก๋ํ ํ๋ ๋ ์ด๋ค. ์ค๋ ๋ญํ์ง?
14. ๋์ ์ ๋ฌด ์คํ์ผ์?
Upgrading from Spring Boot 2.7
์ด๊ฒ์ Spring Boot์ ์ฃผ์ ๋ฆด๋ฆฌ์ค์ด๋ฏ๋ก ๊ธฐ์กด ์์ฉ ํ๋ก๊ทธ๋จ์ ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ด ํ์๋ณด๋ค ์กฐ๊ธ ๋ ๋ณต์ก ํ ์ ์์ต๋๋ค. ๊ธฐ์กด Spring Boot 2.7 ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ทธ๋ ์ด๋ํ๋ ๋ฐ ๋์์ด ๋๋ ์ ์ฉ ๋ง์ด๊ทธ๋ ์ด์ ๊ฐ์ด๋๋ฅผ ๋ง๋ จ ํ์ต๋๋ค.
ํ์ฌ ์ด์ ๋ฒ์ ์ Spring Boot๋ฅผ ์ฌ์ฉ ์ค์ธ ๊ฒฝ์ฐ Spring Boot 2.7์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๊ธฐ ์ ์ Spring Boot 3.0๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
New and Noteworthy
Tip.
๊ตฌ์ฑ ๋ณ๊ฒฝ ๋ก๊ทธ์์ ๊ตฌ์ฑ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ์ ์ฒด ๊ฐ์๋ฅผ ํ์ธํ์ญ์์ค.Java 17 Baseline and Java 19 Support
์คํ๋ง ๋ถํธ 3.0์๋ ์ต์ ๋ฒ์ ์ผ๋ก Java 17์ด ํ์ํฉ๋๋ค. ํ์ฌ Java 8 ๋๋ Java 11์ ์ฌ์ฉ ์ค์ธ ๊ฒฝ์ฐ Spring Boot 3.0 ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ธฐ ์ ์ JDK๋ฅผ ์ ๊ทธ๋ ์ด๋ํด์ผ ํฉ๋๋ค.
์คํ๋ง ๋ถํธ 3.0๋ ์ ์๋ํ๋ฉฐ JDK 19์์ ํ ์คํธ๋์์ต๋๋ค.
GraalVM Baseline and Native Build Tools
์คํ๋ง ๋ถํธ์๋ Graal 22.3 ์ด์ ๋ฐ ๊ธฐ๋ณธ ๋น๋ ๋๊ตฌ ํ๋ฌ๊ทธ์ธ 0.9.17 ์ด์์ด ํ์ํฉ๋๋ค.
Third-party Library Upgrades
์คํ๋ง ๋ถํธ 3.0์ ์คํ๋ง ํ๋ ์ ์ํฌ 6์ ๊ธฐ๋ฐ์ผ๋กํ๋ฉฐ ํ์ํฉ๋๋ค. Spring Framework 6.0์์ ์ฌ์ฉํ ์์๋ ์๋ก์ด ๊ธฐ๋ฅ์ ๋ํด ์ฝ์ด๋ณด์ญ์์ค.
์ด ๋ฆด๋ฆฌ์ค์์ ์ ๊ทธ๋ ์ด๋๋ ๋ค๋ฅธ Spring ํ๋ก์ ํธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Spring Boot 3.0์ ๋ชจ๋ ์ข ์์ฑ์ ๋ํด Java EE์์ Jakarta EE API๋ก ๋ง์ด๊ทธ๋ ์ด์ ๋์์ต๋๋ค. ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋ค์์ ํฌํจํ์ฌ Jakarta EE 10 ํธํ ์ข ์์ฑ์ด ์ ํ๋์์ต๋๋ค.
- Jakarta Activation 2.1
- Jakarta JMS 3.1
- Jakarta JSON 2.1
- Jakarta JSON Bind 3.0
- Jakarta Mail 2.1
- Jakarta Persistence 3.1
- Jakarta Servlet 6.0
- Jakarta Servlet JSP JSTL 3.0
- Jakarta Transaction 2.0
- Jakarta Validation 3.0
- Jakarta WebSocket 2.1
- Jakarta WS RS 3.1
- Jakarta XML SOAP 3.0
- Jakarta XML WS 4.0
๋ํ ๊ฐ๋ฅํ ํ ํ์ฌ ํญ์๋ฆฌ์ ์์ ์ ์ธ ์ต์ ๋ฆด๋ฆฌ์ค๋ก ์ ๊ทธ๋ ์ด๋ํ์ต๋๋ค. ๋ช ๊ฐ์ง ์ฃผ๋ชฉํ ๋งํ ์ข ์์ฑ ์ ๊ทธ๋ ์ด๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Couchbase Client 3.4
- Ehcache 3.10
- Elasticsearch Client 8.5
- Flyway 9
- Groovy 4.0
- Hibernate 6.1
- Hibernate Validator 8.0
- Jackson 2.14
- Jersey 3.1
- Jetty 11
- jOOQ 3.16
- Kotlin 1.7.20
- Liquibase 4.13
- Lettuce 6.2
- Log4j 2.18
- Logback 1.4
- Micrometer 1.10
- Micrometer Tracing 1.0
- Neo4j Java Driver 5.2
- Netty 4.1.77.Final
- OkHttp 4.10
- R2DBC 1.0
- Reactor 2022.0
- SLF4J 2.0
- SnakeYAML 1.32
- Tomcat 10
- Thymeleaf 3.1.0.M2
- Undertow 2.2.20.Final
GraalVM Native Image Support
์ด์ Spring Boot 3.0 ์ ํ๋ฆฌ์ผ์ด์ ์ GraalVM ๋ค์ดํฐ๋ธ ์ด๋ฏธ์ง๋ก ๋ณํํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์์ ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค. GraalVM ๋ค์ดํฐ๋ธ ์ด๋ฏธ์ง ์ง์์ ์ ์ฒด Spring ํฌํธํด๋ฆฌ์ค์์ ์ํ๋ ์ฃผ์ ์์ง๋์ด๋ง ๋ ธ๋ ฅ์ด์์ต๋๋ค.
GraalVM ๋ค์ดํฐ๋ธ ์ด๋ฏธ์ง๋ฅผ ์์ํ๋ ค๋ฉด ์ ๋ฐ์ดํธ๋ ์คํ๋ง ๋ถํธ ์ฐธ์กฐ ์ค๋ช ์๋ฅผ ์ฐธ์กฐํ์ธ์.
Log4j2 Enhancements
Log4j2 ์ง์์ด ๋ค์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์๋ก์ด ํ์ฅ์ผ๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
- Profile-specific Configuration
- Environment Properties Lookup
- Log4j2 System Properties
์์ธํ ๋ด์ฉ์ ์ ๋ฐ์ดํธ๋ ์ค๋ช ์๋ฅผ ์ฐธ์กฐํ์ธ์.
Improved @ConstructorBinding Detection
์์ฑ์ ๋ฐ์ธ๋ฉ @ConfigurationProperties ์ฌ์ฉํ ๋ ํด๋์ค์ ๋งค๊ฐ ๋ณ์๊ฐ ์๋ ๋จ์ผ ์์ฑ์๊ฐ ์๋ ๊ฒฝ์ฐ @ConstructorBinding ์ฃผ์์ด ๋ ์ด์ ํ์ํ์ง ์์ต๋๋ค. ์์ฑ์๊ฐ ๋ ๊ฐ ์ด์์ธ ๊ฒฝ์ฐ์๋ @ConstructorBinding ์ฌ์ฉํ์ฌ Spring Boot์ ์ฌ์ฉํ ์์ฑ์๋ฅผ ์๋ ค์ผ ํฉ๋๋ค.
๋๋ถ๋ถ์ ์ฌ์ฉ์์๊ฒ ์ด ์ ๋ฐ์ดํธ๋ ๋ ผ๋ฆฌ๋ ๋ ๊ฐ๋จํ @ConfigurationProperties ํด๋์ค๋ฅผ ํ์ฉํฉ๋๋ค. ๊ทธ๋ฌ๋ @ConfigurationProperties์ด ์๊ณ Bean์ ๋ฐ์ธ๋ฉํ์ง ์๊ณ ์์ฑ์์ ์ฝ์ ํ๋ ค๋ฉด ์ด์ @Autowired ์ฃผ์์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
Micrometer Updates
์คํ๋ง ๋ถํธ 3.0์ ๋ง์ดํฌ๋ก๋ฏธํฐ 1.10์ ๋์ ๋ ์๋ก์ด ๊ด์ฐฐ API๋ฅผ ์ง์ํฉ๋๋ค. ์ ObservationRegistry ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉํธ๋ฆญ๊ณผ ์ถ์ ๋ชจ๋์ ๋ํด ๋จ์ผ API๋ฅผ ์ ๊ณตํ๋ ๊ด์ฐฐ์ ๋ง๋ค ์ ์์ต๋๋ค. ์คํ๋ง ๋ถํธ๋ ์ด์ ObservationRegistry์ ์ธ์คํด์ค๋ฅผ ์๋์ผ๋ก ๊ตฌ์ฑํฉ๋๋ค.
๋ง์ดํฌ๋ก๋ฏธํฐ ์ฝ์ด๊ฐ ํด๋์ค ๊ฒฝ๋ก์ ์๋ ๊ฒฝ์ฐ DefaultMeterObservationHandler๊ฐ ObservationRegistry์ ๋ฑ๋ก๋๋ฉฐ, ์ด๋ ์ค์ง๋ ๋ชจ๋ ๊ด์ฐฐ์ด ํ์ด๋จธ๋ก ์ด์ด์ง๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ObservationPredicate, GlobalObservationConvention ๋ฐ ObservationHandler๋ ObservationRegistry์ ์๋์ผ๋ก ๋ฑ๋ก๋ฉ๋๋ค. ํ์ํ ๊ฒฝ์ฐ ObservationRegistryCustomizer๋ฅผ ์ฌ์ฉํ์ฌ ObservationRegistry๋ฅผ ์ถ๊ฐ๋ก ์ฌ์ฉ์ ์ง์ ํ ์ ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ ์ฐธ์กฐ ๋ฌธ์์ ์๋ก์ด '๊ด์ฐฐ ๊ฐ๋ฅ์ฑ' ์น์ ์ ์ฐธ์กฐํ์ธ์.
์คํ๋ง ๋ถํธ๋ ์ด์ ๋ง์ดํฌ๋ก ๋ฏธํฐ ์ถ์ ์ ์๋์ผ๋ก ๊ตฌ์ฑํฉ๋๋ค. ์ฌ๊ธฐ์๋ Brave, OpenTelemetry, Zipkin ๋ฐ Wavefront์ ๋ํ ์ง์์ด ํฌํจ๋ฉ๋๋ค.
๋ง์ดํฌ๋ก๋ฏธํฐ ๊ด์ธก API๋ฅผ ์ฌ์ฉํ ๋ ๊ด์ธก์ ๋ง์น๋ฉด Zipkin ๋๋ Wavefront์ ๋ณด๊ณ ๋ ์คํฌ์ด ์์ฑ๋ฉ๋๋ค. ์ถ์ ์ ๊ด๋ฆฌ ์ค์ธ ์์ฑ์ ์ฌ์ฉํ์ฌ ์ ์ดํ ์ ์์ต๋๋ค. Zipkin์ management.zipkin.tracing์ผ๋ก ๊ตฌ์ฑํ ์ ์์ผ๋ฉฐ, Wavefront๋ management.wavefront๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ถ๊ฐํด์ผ ํ๋ ๋ค์ํ ์ข ์์ฑ์ ํฌํจํ ์์ธํ ๋ด์ฉ์ ์ฐธ์กฐ ์ค๋ช ์์ ์ถ์ ์น์ ์ ์์ต๋๋ค.
์ด์ io.micrometer:micrometer-registry-otlp๊ฐ ํด๋์ค ๊ฒฝ๋ก์ ์์ ๋ OtlpMeterRegistry ๊ฐ ์๋์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋ฏธํฐ ๋ ์ง์คํธ๋ฆฌ๋ management.otlp.metrics.export.* ์์ฑ์ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
Prometheus Support
๋ง์ดํฌ๋ก๋ฏธํฐ ์ถ์ ์ถ์ ๊ธฐ ๋น์ด ์๊ณ ํ๋ก๋ฉํ ์ฐ์ค๊ฐ ํด๋์ค ๊ฒฝ๋ก์ ์๋ ๊ฒฝ์ฐ ์ด์ SpanContextSupplier๊ฐ ์๋์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด ๊ณต๊ธ์๋ ํ์ฌ ์ถ์ ID ๋ฐ ๋ฒ์ ID๋ฅผ Prometheus์์ ์ฌ์ฉํ ์ ์๋๋ก ํ์ฌ ๋ฉํธ๋ฆญ์ ์ถ์ ์ ์ฐ๊ฒฐํฉ๋๋ค.
ํธ์ ๊ฒ์ดํธ์จ์ด๋ ์ข ๋ฃ ์ PUT์ ์ํํ๋๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด management.prometheus.metrics.export.pushgateway.shutdown-operation์ put์ผ๋ก ์ค์ ํฉ๋๋ค. ๋ํ ๊ธฐ์กด ํธ์ ์ค์ ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ์ด์ post๋ฅผ ๋์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
More Flexible Auto-configuration for Spring Data JDBC
์คํ๋ง ๋ฐ์ดํฐ JDBC์ ๋ํ ์๋ ๊ตฌ์ฑ์ด ์ด์ ๋ ์ ์ฐํด์ก์ต๋๋ค. Spring Data JDBC์ ํ์ํ ์ฌ๋ฌ ์๋ ๊ตฌ์ฑ๋ Bean์ ์ด์ ์กฐ๊ฑด๋ถ์ด๋ฉฐ ๋์ผํ ์ ํ์ Bean์ ์ ์ํ์ฌ ๋์ฒดํ ์ ์์ต๋๋ค. ์ด์ ๋์ฒดํ ์ ์๋ Bean์ ์ ํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- org.springframework.data.jdbc.core.JdbcAggregateTemplate
- org.springframework.data.jdbc.core.convert.DataAccessStrategy
- org.springframework.data.jdbc.core.convert.JdbcConverter
- org.springframework.data.jdbc.core.convert.JdbcCustomConversions
- org.springframework.data.jdbc.core.mapping.JdbcMappingContext
- org.springframework.data.relational.RelationalManagedTypes
- org.springframework.data.relational.core.dialect.Dialect
Enabling Async Acks with Apache Kafka
Kafka์ ํจ๊ป ๋น๋๊ธฐ acks๋ฅผ ํ์ฑํํ๊ธฐ ์ํ ์๋ก์ด ๊ตฌ์ฑ ์์ฑ spring.kafka.listener.async-acks๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ๋น๋๊ธฐ acks๋ฅผ ์ฌ์ฉํ๋๋ก ์ค์ ํ๋ ค๋ฉด ์์ฑ์ true๋ก ์ค์ ํฉ๋๋ค. ์ด ์์ฑ์ spring.kafka.listener.async-mode๊ฐ ์๋ ๋๋ ์๋ ์ฆ์๋ก ์ค์ ๋ ๊ฒฝ์ฐ์๋ง ์ ์ฉ๋ฉ๋๋ค.
Elasticsearch Java Client
์๋ก์ด Elasticsearch Java ํด๋ผ์ด์ธํธ์ ๋ํ ์๋ ๊ตฌ์ฑ์ด ๋์ ๋์์ต๋๋ค. ๊ธฐ์กด spring.elasticsearch.* ๊ตฌ์ฑ ์์ฑ์ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
Auto-configuration of JdkClientHttpConnector
Reactor Netty๊ฐ ์์ผ๋ฉด Jetty์ ๋ฐ์ํ ํด๋ผ์ด์ธํธ์ Apache HTTP ํด๋ผ์ด์ธํธ์ธ JdkClientHttpConnector๊ฐ ์ด์ ์๋์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด WebClient๋ฅผ JDK์ HttpClient์ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.
@SpringBootTest with Main Methods
@SpringBootTest ์ฃผ์์ ์ด์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๊ฒ์๋ @SpringBootConfiguration ํด๋์ค์ main์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฆ, main ๋ฉ์๋์์ ์ํ ํ ๋ชจ๋ ์ฌ์ฉ์ ์ง์ SpringApplication ๊ตฌ์ฑ์ ์ด์ ํ ์คํธ์์ ์ ํํ ์ ์์ต๋๋ค.
ํ ์คํธ์ main ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด @SpringBootTest์ useMainMethod ํน์ฑ์ UseMainMethod.ALWAYS ๋๋ UseMainMethod.WHEN_AVAILABLE๋ก ์ค์ ํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ ์ ๋ฐ์ดํธ๋ ์ฐธ์กฐ ์ค๋ช ์๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
Miscellaneous
์์ ๋์ด๋ ๋ณ๊ฒฝ ์ฌํญ ์ธ์๋ ๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ์ฌ์ํ ์กฐ์ ๋ฐ ๊ฐ์ ์ฌํญ์ด ์์ต๋๋ค.
- ํธ์คํธ ์ด๋ฆ์ ์์ฉ ํ๋ก๊ทธ๋จ ์์ ์ค์ ๋ ์ด์ ๊ธฐ๋ก๋์ง ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์์ ์๊ฐ์ ๊ฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋ ๋คํธ์ํฌ ์กฐํ๊ฐ ๋ฐฉ์ง๋ฉ๋๋ค.
- Java์ SecurityManager์ ๋ํ ์ง์์ JDK์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ์ดํ ์ ๊ฑฐ๋์์ต๋๋ค.
- ์คํ๋ง ํ๋ ์์ํฌ์ CommonsMultipartResolver์ ๋ํ ์ง์์ ์คํ๋ง ํ๋ ์์ํฌ 6์์ ์ ๊ฑฐ๋ ํ ์ ๊ฑฐ๋์์ต๋๋ค.
- spring.mvc.ignore ๊ธฐ๋ณธ ๋ชจ๋ธ ์จ ๋ฆฌ๋๋ ์ ์ ์ ์คํธ๋ฆผ ์คํ๋ง ํ๋ ์ ์ํฌ ๋ณ๊ฒฝ ์ฌํญ์ ๋ง๊ฒ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
- WebJars ๋ฆฌ์์ค ์ฒ๋ฆฌ๊ธฐ ๊ฒฝ๋ก ํจํด์ spring.mvc.webjars-path-pattern ๋๋ spring.webflux.webjars-path-pattern์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ง์ ํ ์ ์์ต๋๋ค.
- Tomcat์ ์๊ฒฉ IP ๋ฐธ๋ธ์ ์ ๋ขฐํ ์ ์๋ ํ๋ก์๋ server.tomcat.remoteip.trusted-proxies๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
- Bean ์ ํจ์ฑ ๊ฒ์ฆ ๊ตฌ์ฑ์ ์ด์ ValidationConfigurationCustomizer Bean์ ์ ์ํ์ฌ ์ฌ์ฉ์ ์ ์ํ ์ ์์ต๋๋ค.
- Log4j2์ Log4jBridgeHandler๋ ์ด์ SLF4J๋ฅผ ํตํด ๋ผ์ฐํ ํ๋ ๋์ JUL ๊ธฐ๋ฐ ๋ก๊น ์ Log2j4๋ก ๋ผ์ฐํ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- MeterBinder ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ Bean์ ์ด์ ๋ชจ๋ ์ฑ๊ธํค ๋น์ด ์ด๊ธฐํ๋ ํ์๋ง ๋ฏธํฐ ๋ ์ง์คํธ๋ฆฌ์ ๋ฐ์ธ๋ฉ๋ฉ๋๋ค.
- Brave ๋ฐ OpenTelemetry์ฉ SpanCustomizer ๋น์ด ์ด์ ์๋ ๊ตฌ์ฑ๋ฉ๋๋ค.
- Micrometer์ JvmCompilationMetrics๋ ์ด์ ์๋์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- ์ด์ DiskSpaceHealthIndicator๋ ๋ก๊ทธ ๋ฉ์์ง์ ์ํ ์ธ๋ถ ์ ๋ณด์ ํด๋น ๊ฒฝ๋ก๋ฅผ ํฌํจํฉ๋๋ค.
- ์ด์ ๋ํ๋ DataSource์์ ํ์๋ ์ ์์ต๋๋ค.
- ์ด์ spring.data.mongodb.additional-hosts ์์ฑ์ ์ฌ์ฉํ์ฌ MongoDB์ ๋ํด ์ฌ๋ฌ ํธ์คํธ๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
- Elasticsearch์ socketKeepAlive ์์ฑ์ spring.elasticsearch.socket-keep-alive ์์ฑ์ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
- spring-rabbit-stream์ ์ฌ์ฉํ ๋, ์ด์ spring.rabbitmq.listener.type์ด ์คํธ๋ฆผ์ธ์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด RabbitStreamTemplate ๋ฐ ํ๊ฒฝ์ด ์๋์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- ๊ธฐ์กด Kafka ์ฃผ์ ๋ spring.kafka.admin.modify-topic-configs๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ ์ ์์ต๋๋ค.
- WebDriverScope ๋ฐ WebDriverTestExecutionListener๋ ์ฌ์ฉ์ ์ง์ ํ ์คํธ ์ค์ ์์ WebDriver๋ฅผ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๊ณต๊ฐ๋์์ต๋๋ค.
Deprecations in Spring Boot 3.0
- @ConstructorBinding org.springframework.boot.context.properties ํจํค์ง์์ org.springframework.boot.context.properties.bind๋ก ์ฌ๋ฐฐ์น๋์์ต๋๋ค.
- JsonMixinModule ๊ฒ์ ๊ธฐ๋ฐ ์์ฑ์๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
- ClientHttpRequestFactorySupplier๋ ClientHttpRequestFactories๋ก ๋์ฒด๋์ด์ผ ํฉ๋๋ค.
- ์ฟ ํค ์ฃผ์ ์์ฑ์ ๋ ์ด์ ์ง์๋์ง ์์ต๋๋ค.
- RestTemplateExchangeTagsProvider, WebClientExchangeTagsProvider, WebFluxTagsProvider, WebMvcTagsProvider ๋ฐ ๊ด๋ จ ํด๋์ค๋ Observationconvention์ ํด๋นํ๋ ํด๋์ค๋ก ๋์ฒด๋์์ต๋๋ค.
- ๊ธฐ๋ณธ ํด๋์ค์ non-args ์์ฑ์ @Configuration ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
- DefaultTestExecutionListenersPostProcessor ๋ฐ SpringBootDependencyInjectionTestExecutionListener๋ Spring Framework์ ApplicationContextFailureProcessor๋ฅผ ์ํด ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
- management.metrics.export.<product> ์์ฑ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ๋์ฒด๋ management.<product>.metrics.export์ ๋๋ค.
- post์ ์ฐฌ์ฑํ์ฌ management.prometheus.metrics.export.pushgateway.shutdown-operation์ ํธ์ ์ค์ .
- @AutoConfigureMetrics @AutoConfigureObservability ์ํด ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.