분석 결과를 기반으로 Spring 전환 체크리스트 작성 #2
1 changed files with 111 additions and 0 deletions
111
docs/spring-migration-checklist.md
Normal file
111
docs/spring-migration-checklist.md
Normal file
|
|
@ -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 설정 파일 아카이브
|
||||||
|
- [ ] 마이그레이션 문서 업데이트
|
||||||
|
- [ ] 팀 교육 및 가이드 작성
|
||||||
Loading…
Add table
Add a link
Reference in a new issue