From 2a69e284e27e10da8b786b47edfd79a66c56ccb3 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Thu, 16 Jul 2026 02:45:08 +0000 Subject: [PATCH] =?UTF-8?q?=EB=B6=84=EC=84=9D=20=EA=B2=B0=EA=B3=BC?= =?UTF-8?q?=EB=A5=BC=20=EA=B8=B0=EB=B0=98=EC=9C=BC=EB=A1=9C=20Spring=20?= =?UTF-8?q?=EC=A0=84=ED=99=98=20=EC=B2=B4=ED=81=AC=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EC=9E=91=EC=84=B1=20(E2E-MINIMAX-DEV-001)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/spring-migration-checklist.md | 111 +++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 docs/spring-migration-checklist.md diff --git a/docs/spring-migration-checklist.md b/docs/spring-migration-checklist.md new file mode 100644 index 0000000..e59ba75 --- /dev/null +++ b/docs/spring-migration-checklist.md @@ -0,0 +1,111 @@ +# Spring Boot 전환 구현 체크리스트 + +## 1. 프로젝트 구조 분석 + +### 1.1 현재 구조 파악 +- [ ] 기존 프로젝트 타입 확인 (Plain Java, Maven, Gradle) +- [ ] 의존성 목록 정리 +- [ ] 주요 설정 파일 식별 (application.properties, config.xml) +- [ ] 데이터소스 및 ORM 설정 확인 +- [ ] 보안 설정 현황 파악 + +### 1.2 Spring Boot 호환성 평가 +- [ ] Java 버전 호환성 확인 (Java 17+ 권장) +- [ ] Spring Boot 3.x 호환 의존성 확인 +- [ ] Jakarta EE 마이그레이션 필요성 평가 + +--- + +## 2. 빌드 설정 전환 + +### 2.1 Maven → Spring Boot +- [ ] `pom.xml` → Spring Boot Parent 적용 +- [ ] Spring Boot Starter 의존성 추가 +- [ ] 빌드 플러그인 설정 (`spring-boot-maven-plugin`) +- [ ] 의존성 버전 관리 Parent로 이관 + +### 2.2 의존성 전환 매핑 + +| 기존 의존성 | Spring Boot Starter | +|------------|---------------------| +| spring-web + spring-webmvc | spring-boot-starter-web | +| spring-data-jpa + hibernate | spring-boot-starter-data-jpa | +| spring-security | spring-boot-starter-security | +| spring-test | spring-boot-starter-test | +| jackson-databind | Jackson (기본 내장) | +| log4j/slf4j | spring-boot-starter-logging | + +--- + +## 3. 설정 파일 마이그레이션 + +### 3.1 application.properties → application.yml +- [ ] 기존 properties를 YAML 형식으로 변환 +- [ ] profile별 설정 파일 분리 (dev, prod, test) +- [ ] 환경별 변수 설정 검증 + +### 3.2 XML 설정 → Java Config +- [ ] `web.xml` → `WebApplicationInitializer` +- [ ] `spring-context.xml` → `@Configuration` 클래스 +- [ ] `dispatcher-servlet.xml` → `application.yml` + Java Config +- [ ] DataSource 설정 → `@Bean` 또는 `application.yml` + +--- + +## 4. 코드 변환 + +### 4.1 메인 클래스 +- [ ] `@SpringBootApplication` 어노테이션 추가 +- [ ] `SpringApplication.run()` 진입점 생성 + +### 4.2 REST 컨트롤러 +- [ ] `@RestController` 적용 (기존 `@Controller` + `@ResponseBody`) +- [ ] `@RequestMapping` → `@GetMapping`, `@PostMapping` 등 +- [ ] `ResponseEntity` 반환 타입 사용 + +### 4.3 서비스/리포지토리 +- [ ] `@Service`, `@Repository` 어노테이션 적용 +- [ ] JPA 리포지토리 인터페이스로 변환 +- [ ] `@Transactional` 전파 전략 확인 + +### 4.4 예외 처리 +- [ ] `@ControllerAdvice` 전역 예외 처리 구현 +- [ ] 커스텀 예외 클래스 정의 +- [ ] HTTP 상태 코드 매핑 + +--- + +## 5. 테스트 전환 + +- [ ] `@SpringBootTest` 적용 +- [ ] `@WebMvcTest`, `@DataJpaTest` 활용 +- [ ] MockMvc를 통한 API 테스트 +- [ ] 테스트 프로필 설정 + +--- + +## 6. 검증 체크리스트 + +### 6.1 빌드 검증 +- [ ] `mvn clean package` 성공 +- [ ] BootJar 생성 확인 +- [ ] 의존성 충돌 없음 + +### 6.2 실행 검증 +- [ ] 애플리케이션 정상 기동 +- [ ] `/actuator/health` 엔드포인트 응답 +- [ ] 로그 출력 정상 + +### 6.3 기능 검증 +- [ ] REST API 엔드포인트 동작 확인 +- [ ] 데이터베이스 연결/쿼리 정상 +- [ ] 세션/인증 동작 확인 +- [ ] 예외 처리 정상 동작 + +--- + +## 7. 마이그레이션 후 처리 + +- [ ] 기존 XML 설정 파일 아카이브 +- [ ] 마이그레이션 문서 업데이트 +- [ ] 팀 교육 및 가이드 작성