В Spring Framework 7.1 изменили поведение, которое большинство разработчиков даже не замечало.
Раньше при запуске приложения Spring автоматически проверял, доступен ли JAXB, и, если находил его, регистрировал XML-конвертер.
Даже если ваше приложение вообще НИКОГДА не работало с XML.
Теперь это поведение изменили.
Для серверных приложений Spring больше не подключает JAXB автоматически. Если XML действительно нужен, то его придётся включить явно. Вот.
Много профита дает? Надо тестить. Spring цифр не дает.
We noticed that the JAXB message converter can consume a lot of CPU resources at runtime, even if XML isn't being used by the application.
В любом случае автоматическое определение компонентов не бесплатно само по себе.
Это:
- дополнительные проверки при старте;
- лишняя работа ClassLoader;
- расход CPU;
- усложнение процесса инициализации.
По отдельности это мелочи. Но именно из таких мелочей складывается время запуска современных приложений. Раньше фреймворк старался угадать, что может понадобиться разработчику.
Теперь всё чаще действует другой принцип:
Не делай ничего, пока тебя об этом явно не попросили.
И, кажется, это правильно.
🔗 Источник: Spring Framework 7.1 Release Notes
https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-7.1-Release-Notes