Hiljuti tegin läbi Spring Boot migratsiooni 3 versiooni pealt versioonile 4. Tagasi vaadates tundub, et mõistlik oleks olnud korraga teha ka järgmised uuendused:
- Jackson'i versioon 2 pealt versioonile 3.
- RestTemplate asendada RestClient'iga.
Kui üritada vältida Jackson'i ja RestTemplate uuendamist, siis tulemuseks on paras segadus Springi konteksti seadistamisel. Vaikimisi kasutab Spring Boot 4 juba uut Jackson'i ja kui soovitakse jääda vanale versioonile tuleb kogu seadistus käsitsi taasluua. Mis ilmselt lõppeb sellega, et koodis on dubleerivad seadistused - ObjectMapper ja JsonMapper ning RestTemplate ja RestClient. Esialgu küll proovisin vanad teegid kasutusse jätta, kuid vajalike muudatuste kogus läks ebamõistlikult suureks. Lõpuks tundus, et tehes täielik versiooniuuenduse kõigile alamteekidele, oli tulemus lihtsam ja tulevikukindlam.
Ilmselt tulevikus muutub see migratsioon ka järjest lihtsamaks, kui tehisaru mudelid treenitakse uue Spring Boot 4 dokumentatsiooni põhjal. Aga vähemalt praegu oli see võrdlemisi puhas käsitöö - abi küsidas üritas tehisaru pigem Spring Boot 3 tagasi kasutusele võtta.