В начале июня 2022 года Spring Boot выпустила версию 2.7, которая является последней основной версией Spring Boot 2.x.
Следующей версией станет революционная Spring Boot 3.0.
Учитывая, что Spring Boot очень широко используется, если вы все еще используете Spring Boot, есть некоторые вещи, на которые вам, возможно, придется обратить внимание и своевременно разобраться.
Многие команды используют Spring Boot, но они могут быть не совсем уверены в типе и времени поддержки каждой версии Spring Boot.
Поскольку сегодня безопасность становится все более важной, нам необходимо знать, какую поддержку обеспечивает используемая нами структура и как долго она продлится?
Тип поддержки
Spring Boot предоставляет два типа поддержка соответственно: OSS поддержкаи Коммерческая support
OSS support Бесплатная поддержка сообщества. Как следует из названия, эта поддержка бесплатна и предоставляется сообществом Spring. В основном она включает исправления ошибок и безопасности. Часы поддержки сокращены.
Commercial support Коммерческая поддержка, конечно, платная. Она обеспечивает профессиональную поддержку в течение периода бесплатной поддержки сообщества и по-прежнему будет предоставлять исправления безопасности и исправления ошибок после окончания бесплатной поддержки сообщества. Конечно, это займет больше времени.
Я считаю, что большинство команд используют поддержку OSS.
Часы поддержки
OSS support
Каждая основная версия Spring Boot относится к уровню Spring Boot 1 или Spring Boot 2, который составляет не менее трех лет;
И основная версия каждой основной версии, например Spring. Boot 2.1.x, Spring Boot 2.2.x этого уровня, Часы поддержка не менее года
Commercial support
Часы коммерческой поддержки соответственно продлеваются.
Это означает:
Другими словами, если в вашем проекте все еще используется версия до 2.6.x, необходимо как можно скорее выполнить обновление до 2.6.x или 2.7.x. В противном случае вы не получите никаких исправлений безопасности и исправлений ошибок.
Конечно, я знаю, что многие проекты просто обновляются с 2.5.x до 2.6.x, легкого обновления, которое им нелегко реализовать. Поскольку никаких гарантий модульного тестирования может не быть, любые изменения могут вызвать непредсказуемые проблемы.
Вот почему я всегда выступал за написание модульных тестов. В противном случае, в этот критический момент, мы столкнемся с большими неизвестностями и рисками.
Spring Boot 3.0 выйдет примерно в ноябре этого года, и Spring Boot 3.0 станет огромным изменением. Два наиболее важных изменения:
Поддерживает только JDK 17 и выше.
Да, вы правильно прочитали, это настолько радикально. Но мне это нравится.
На данном этапе среди всех долгосрочных версий JDK JDK 8 по-прежнему занимает значительную долю. Уровень использования JDK 11 начал превышать уровень использования JDK 8, а последняя версия JDK LTS 17 вышла лишь для некоторых. месяцев.
Хотя JDK 17 добился большого прогресса с точки зрения синтаксических функций, производительности и т. д., учитывая большое количество исторических проектов JDK, для того, чтобы JDK 17 стал массовым, все равно потребуется много времени.
Spring Boot 3 радикально устанавливает минимальную поддерживаемую версию JDK 17, хотя это вызовет значительное давление при миграции для большого количества существующих проектов. Но в целом это окажет очень сильное влияние на популяризацию последней версии JDK.
Любая команда, использующая Spring Boot, должна решить, использовать ли небезопасную версию Spring Boot 2, для которой больше нет исправлений, или перейти на Spring Boot 3 через год, или приобрести коммерческую поддержку.
Миграция на Jakarta EE 9
При разработке на уровне предприятия, если используется Java, важность Java EE очевидна. Большое количество важных корпоративных функций, таких как Servelt, JPA и JMS, принадлежат Java EE.
Хотя Oracle представила Java в 2017 году EE 8 был передан в дар Eclipse Foundation. Из-за ограничений Oracle Eclipse Foundation изменил название продукта на Jakarta. EE,и использовал новое имя пакетаjakarta.*
заменятьJava EEизjavax.*
。
Jakarta EE 8 вышла в 2019 году. Функциональных изменений в ней практически не было, в основном изменилось название пакета и торговая марка. Из-за исторического влияния, в том числе весны Boot Основные фреймворки, включая 2.x, по-прежнему полагаются на Java. EE 8 без переезда в Джакарту EE 8. 。так,ты в проекте,导入из依赖仍然是javax.*
Однако все это изменится после выхода Spring Boot 3, который также внес изменения на этом этапе и перешел на Jakarta EE 9.
В результате этого большое количество зависимостей будет обновлено одновременно. Это означает, что обновление с 2.x до 3 станет относительно трудным.
myddd-java — это базовая платформа, управляемая доменом, основанная на Java и Spring Boot, которую я поддерживаю.
Он будет обновляться после обновлений Spring Boot. После выпуска Spring Boot 2.7 myddd-java также выпустила версию 0.3.x, которая была обновлена для зависимости от Spring Boot 2.7.x.
В то же время, чтобы следовать стратегии обновления Spring Boot, начиная с версии 0.4.x, myddd-ava обновляется для поддержки Spring Boot 3 и JDK 17 или выше. Ожидается, что эта работа будет завершена вскоре после выпуска Spring Boot 3.0.
Если вы хотите узнать больше о myddd, посетите официальный сайт https://myddd.org, чтобы узнать больше.
Программисты и архитекторы, готовы ли вы справиться с этими изменениями в Spring Boot?
Пришло время планировать заранее.
ЯМеч,тот, кто предан преследованию,Программисты, которые практикуют и распространяют программирование.
доступКод WeChat
(https://taoofcoding.tech)以阅读更多我写из文章;
доступmyddd
(https://myddd.org)以了解我在维护из全栈式领域驱动开源框架。