spring-boot-migration

Featured

Use when preparing a Spring Boot 3 application for Boot 4, upgrading to Boot 3.5 first, removing deprecated APIs, auditing dependencies, or planning a staged Framework 7 migration.

API & Backend 225 stars 37 forks Updated 6 days ago MIT

Install

View on GitHub

Quality Score: 88/100

Stars 20%
78
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Spring Boot 3 to 4 Migration Migrate in controlled stages. Keep behavior changes separate from the framework upgrade. ## Establish the baseline 1. Upgrade to the latest Boot 3.5 maintenance release. 2. Run unit, slice, integration, startup, and migration tests before changing the major version. 3. Remove Boot 3 deprecations and record all explicitly versioned dependencies. 4. Compare the Boot 3.5 and Boot 4 dependency-management reports. 5. Verify Spring Cloud and other portfolio release-train compatibility independently. ## Prepare for Boot 4 - Require Java 17 or newer; prefer Java 21 for application builds. - Replace `javax.*` remnants with Jakarta APIs before the upgrade. - Remove Undertow assumptions; Boot 4 requires a Servlet 6.1-compatible container. - Inventory Jackson 2 custom modules, serializers, `ObjectMapper` beans, and package imports. - Inventory test annotations, especially `@MockBean`, `@SpyBean`, and implicit MockMvc setup. - Add `spring-boot-properties-migrator` temporarily after changing the Boot version, then remove it. ## Migrate dependencies deliberately Boot 4 is more modular. Prefer dedicated starters over relying on incidental transitive dependencies. Expect dedicated starters for web MVC, security tests, Flyway/Liquibase, and technology-specific tests. Use the classic starters only as a temporary diagnostic bridge, never as the final dependency model. ## Verify the result - Run the application with every supported profile. - Exercise schem...

Details

Author
rrezartprebreza
Repository
rrezartprebreza/spring-boot-skills
Created
4 months ago
Last Updated
6 days ago
Language
Java
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

Data & Documents Solid

spring-boot-skill

Build Spring Boot 4.x applications following the best practices. Use this skill: * When developing Spring Boot applications using Spring MVC, Spring Data JPA, Spring Modulith, Spring Security * To create recommended Spring Boot package structure * To implement REST APIs, entities/repositories, service layer, modular monoliths * To use Thymeleaf view templates for building web applications * To write tests for REST APIs and Web applications * To write ArchUnit tests for testing architecture * To configure the recommended plugins and configurations to improve code quality, and testing while using Maven. * To use Spring Boot's Docker Compose support for local development * To create Taskfile for easier execution of common tasks while working with a Spring Boot application

171 Updated 1 weeks ago
sivaprasadreddy
AI & Automation Solid

api-versioning

Use when versioning Spring MVC or WebFlux APIs in Spring Boot 3 / Spring Framework 6. Covers explicit URL, header, and media-type strategies, compatibility rules, and deprecation handling.

225 Updated 6 days ago
rrezartprebreza
Code & Development Listed

spring-boot-dev

Spring Boot 框架层开发助手——三层架构写法与 Spring 注解隐性陷阱。 在编写、修改、重构 Spring Boot 的 Controller / Service / Repository 层代码,或处理 参数校验、全局异常、事务、异步、定时、事件、配置、自动装配问题时使用本技能—— 无论用户是否提到 Spring Boot(写接口 / Controller / Service / 参数校验 / validation / 全局异常 / @Transactional / 事务失效 / 回滚 / @Async / 线程池 / @Scheduled / 定时任务 / @EventListener / 循环依赖 / @ConfigurationProperties / @Value / 配置读不到 / 配置不生效)。 项目依赖含 spring-boot-starter-web 或代码出现 @SpringBootApplication / @RestController / @Service / @Transactional / @Async / @Scheduled / @ConfigurationProperties / @Value / @RestControllerAdvice / @ConditionalOnXxx / @Validated 时激活。 次级触发信号:@Transactional 自调用失效、@Transactional 标在 private 方法、 @Async 默认 SimpleAsyncTaskExecutor、循环依赖报错(BeanCurrentlyInCreationException)、 @Validated 分组校验不触发、@ExceptionHandler 顺序错乱。 不适用(主动让位):ORM CRUD / 分页 / Mapper / 实体映射 → mybatis-plus-dev; 认证 / 权限 / token / SSO → sa-token-dev(仅当项目依赖含 sa-token 或代码出现 StpUtil; 否则由本技能提供 HttpSession / ThreadLocal 最小方案); Java 语言层(判空 / 集合 / 并发 / 异常日志)→ java-coding-guide-pro; 单元测试 → java-unit-test;前端。

0 Updated yesterday
BaixuanZhu