e2e-minimax-20260716-0243/docs/spring-migration-checklist.md

111 lines
3.2 KiB
Markdown

# 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 설정 파일 아카이브
- [ ] 마이그레이션 문서 업데이트
- [ ] 팀 교육 및 가이드 작성