SpringBoot λ²μ μ μ κ·Έλ μ΄λ ν΄μΌν μΌμ΄ μ겨μ 2.3 λ²μ μ 2.5 λ²μ μΌλ‘ μ κ·Έλ μ΄λν κ²½νλ΄μ 곡μ ν©λλ€.
κ°λ°μΈμ μ²μμΌλ‘ ν΄λ³΄λ λ κ±°μ μμ€ν μ νλ μμν¬ μ κ·Έλ μ΄λ μμ μ΄μμ΅λλ€.
λλΆλΆμ μ κ· νλ‘μ νΈλ₯Ό λ§λ€κ±°λ deprecate λ μνλ‘ μ μ§νλ μ λμμ£ .
κ·Έλλ ν΄λ³΄κ³ μΆμλ λΆλΆμ΄μμ΅λλ€. μ λ¬΄κ° λ§μ΄ μ§λ£¨ν΄μ§κ²λ ν λͺ« νμ£ .
μ λ μ£ΌκΈ°μ μΌλ‘ λ°κΈ°μ νλ²μ λλ λΌμ΄λΈλ¬λ¦¬ μ κ·Έλ μ΄λ μμ μ μ§νν΄μΌνλ€κ³ μκ°νμ§λ§
μ ν¬ κ°λ°νμ μ΄μνκ² λΌμ΄λΈλ¬λ¦¬ μ κ·Έλ μ΄λ μμ μ μν©λλ€.
κ·Έλ°λ° κ°μκΈ° νλ μμν¬ μ κ·Έλ μ΄λλ₯Ό νλ €λ dependency κ° λ§μ΄ κ±Έλ €μμκ±°λΌ μμνμ£ .
μ°μ 2.3 -> 2.4 λ‘ μ¬λΌκ°λ©΄μ μ΄λ€ λΆλΆμ λ³νκ° μκ²Όλμ§λ₯Ό νμΈνκ³ λμνκ³ ,
2.4 -> 2.5 μμλ μ΄λ€ λ³νκ° μμλμ§ νμΈνμ¬ λμνλ©΄ λ κ±°λΌ μκ°νκ³
μλ 2κ°μ spring boot release note λ₯Ό νλνλ μ΄ν΄λ΄€μ΅λλ€.
2.3 -> 2.4 μμ λ³κ²½λ λΆλΆ
- JUnit 5’s Vintage Engine Removed from spring-boot-starter-test
- Config File Processing (application properties and YAML files)
- Config Data Imports
- Embedded database detection
- User-defined MongoClientSettings no longer customized
- Logback Configuration Properties
- Default Servlet Registration
- HTTP traces no longer include cookie headers by default
- Undertow Path on Forward
- Neo4j
- Hazelcast 4
- Elasticsearch RestClient
- R2DBC
- Flyway
- Removal of Plugin Management for Flatten Maven Plugin
- Version management for exec-maven-plugin
- Spring Boot Gradle Plugin
- Metrics export in integration tests
- Deprecations from Spring Boot 2.2 and 2.3
2.4 -> 2.5 μμ λ³κ²½λ λΆλΆ
- SQL Script DataSource Initialization
- Flyway and Liquibase JDBC URLs
- Spring Data JPA
- Spring Data Solr
- Secure Info Endpoint
- Task Scheduling Harmonization with Spring Integration
- Default Expression Language (EL) Implementation
- Messages in the Default Error View
- Logging Shutdown Hooks
- Gradle Default jar and war Tasks
- Cassandra Throttling Properties
- Customizing jOOQ’s DefaultConfiguration
- Groovy 3
- Minimum Requirements Changes
- Hibernate Validator 6.2
μμ λμ¨ λ΄μ© μ΄μΈμλ μ κ·Έλ μ΄λ λλ©΄μ deprecated λλ κ²λ€μ λν λΆλΆλ€, κ·Έλ¦¬κ³ μλ‘ μΆκ° λ λΆλΆλ€μ λν μ€λͺ μ νλνλ μ½μ΄λ³΄κ³ νμ¬ λ΄κ° λ΄λΉνλ νλ‘μ νΈμμ μ¬μ©λλ κ²λ€κ³Ό μ°κ΄λ κ²λ€μ λͺ¨λ μ½μ΄λ³΄μμ΅λλ€.
κ·Έλ¦¬κ³ spring boot λ²μ μ λ³κ²½ν λ€ μ€λ₯κ° λ°μνλ λΆλΆμ μλμ§ λ°°ν¬λ μ λλμ§λ₯Ό νμΈνμ΅λλ€.
boot μ κ·Έλ μ΄λ μμ νλ©΄μ λ³κ²½νλ λΆλΆμ μλ λ΄μ©λ€μ΄μμ΅λλ€.
- spring.config.use-legacy-processing = true μ€μ μ μΆκ°
- fasterxml.jackson.databind.PropertyNamingStrategy -> PropertyNamingStrategies ν΄λμ€ λ³κ²½
- third-party dependency λ€ μ€μμ μ κ·Έλ μ΄λκ° νμν κ²λ€ νμΈ λ° μ κ·Έλ μ΄λ
- gradle λ²μ μ κ·Έλ μ΄λ 6.7 -> 6.9
μμ λ΄μ©λ§λ³΄λ©΄ μ§μ§ λ³κ±° μλμλ μμ μΌλ‘ 보μ΄λ€μ. μμ μκ°λ³΄λ€ λ¬Έμ μ½μ΄λ³΄λ μκ°μ΄ λ μ€λ κ±Έλ Έλκ² κ°μ΅λλ€. λ§ν¬λ₯Ό νκ³ νκ³ λ€μ΄κ°μΌ νμΈν μ μλ κ²λ€μ΄ λ§λ€λ³΄λ..
μλ¬΄νΌ λ‘컬νκ²½μμ μ λμκ°λ κ²κΉμ§ νμΈ νκ³ κ°λ°μ μ¬λ € ν μ€νΈλ₯Ό ν΄λ³΄λ μ ν리μΌμ΄μ μ΄ μ μμ μΌλ‘ μ€νλμ§ λͺ»νλ νμμ΄ νμΈλμμ΅λλ€. μ κ·Έλ°κ° λ΄€λλ jar νμΌλͺ μ΄ μ΄μνκ² λ°λμ΄μμμ΅λλ€. λμ -plain postfixκ° λΆμ νμΌλͺ μ΄ λ°°ν¬λ κ²μ νμΈνκ³ μ΄κ² λκ° μΆμ΄ ꡬκΈλ§μ ν΄λ³΄λ release note μμ μ€λͺ μ μ°Ύμλ³Ό μ μμμ§λ§(λ΄κ° λͺ» λ³Έ κ±Έμλ?) 2.5λ²μ λΆν° λ°μνλ νμμ΄μκ³ gradle μ€μ μμ jar taskλ₯Ό λΉνμ±ν μν€κ±°λ λ°°ν¬νμΌμ λ§λλ task μμ ν΄λΉ νμΌμ exclude μ²λ¦¬νλ©΄ λλ λ¬Έμ μμ΅λλ€.
λ§€μΌ λ°λ³΅λλ νΉλ³νμ§ μμ μ 무λ€λ§ νλ€κ° μ²μμΌλ‘ ν΄λ³Έ νλ μμν¬ μ κ·Έλ μ΄λ μμ μ λ무 μ¬λ―Έμμκ³ μ’μ κ²½νμ΄μμ΅λλ€.
λ΄λ μλ java 17 + SpringBoot 3 κΈ°λ°μ μ κ· νλ‘μ νΈλ₯Ό νλ λ§λ€μ΄μΌ νλλ° λ²μ¨λΆν° κΈ°λλκ³ νμ¬ μ¬μ©μ€μΈ java 11 μμ 17κΉμ§ μ΄λ€ λ³νλ€μ΄ μμλμ§ νμΈνλ μκ°μ κ°μ ΈμΌ ν κ² κ°μ΅λλ€.