TOPIC ARCHIVE

레거시 현대화

기존 URL·파라미터·응답 형식을 유지하면서 실행 구조를 단계적으로 개선한 기록입니다.

CURATED NOTES

레거시 현대화

각 글은 하나의 대표 주제에만 분류했습니다. 시리즈가 있는 글에서는 구현 순서와 앞뒤 글도 함께 확인할 수 있습니다.

레거시 현대화 · 5개 글 · 작성일 최신순

레거시 현대화프로젝트 2025.03 — 2025.08 · 8분조회 집계 중

같은 DTO에서 API마다 다른 필수값을 검증하기

다운로드 DTO 하나를 여러 API에서 재사용하면서, 각 API에 필요한 필드만 검사하도록 Bean Validation 그룹과 AOP를 조합했습니다.

Spring MVCBean ValidationSpring AOPLegacy Modernization
레거시 현대화프로젝트 2025.03 — 2025.08 · 5분조회 집계 중

레거시 URL의 언어 규칙을 Spring Locale로 연결하기

브라우저 설정이 아니라 URL과 법인 환경으로 언어를 정하던 시스템에서, 기존 호출 규칙을 유지하면서 요청 처리 전에 로케일을 결정했습니다.

Spring MVCMessageSourceLocaleBackward Compatibility
레거시 현대화프로젝트 2025.03 — 2025.08 · 14분조회 집계 중

축약 파라미터는 유지하고 DTO 필드명은 명확하게 바꾸기

기존 URL과 연계 시스템이 보내는 축약 파라미터는 유지하면서, Spring MVC 확장으로 내부 DTO에는 의미가 드러나는 필드명을 사용했습니다.

Spring MVCHandlerMethodArgumentResolverBackward CompatibilityCustom Annotation
레거시 현대화프로젝트 2025.03.12 — 2025.04.08 · 6분조회 집계 중

연쇄 팝업이 차단되자 iframe과 postMessage로 단계 전환하기

브라우저 정책에 따라 끊기던 다단계 화면을 다이얼로그·iframe·postMessage로 전환했습니다. 기존 팝업 호출도 같은 화면을 사용할 수 있게 유지했습니다.

JavaScriptJSPiframepostMessage
레거시 현대화프로젝트 2025.03 — 2025.08 · 15분조회 집계 중

요청마다 Connection Pool과 SessionFactory를 만들면 생기는 문제

DB 연결 232개가 유지된 원인을 추적해 요청마다 커넥션 풀이 생성되는 문제를 찾았습니다. DataSource와 SessionFactory는 애플리케이션이 한 번 만들고 재사용하도록 바꿨습니다.

JavaMyBatisConnection PoolSpring Boot