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