Java SPI 메커니즘을 활용한 모듈형 시스템 설계 가이드
레거시 시스템의 확장성 한계와 SPI 도입 배경
오래된 대규모 모놀리식 프로젝트에 새로운 비즈니스 로직을 추가할 때, 기존 코드베이스의 강한 결합도로 인해 변경 영향도를 예측하기 어려운 경우가 빈번합니다. 이러한 상황에서 인터페이스를 통해 안정적인 비즈니스 흐름을 정의하고, 실제 구현체는 런타임에 동적으로 분리하여 로드하는 방식이 아키텍처적 해결책이 됩 ...
9월 5일 00:03에 게시됨
클래스 로더의 부모 위임 모델과 SPI 기술 이해
부모 위임 모델의 작동 원리
부모 위임 모델은 자바 가상 머신(JVM) 내 클래스 로딩 과정에서 적용되는 핵심 규칙으로, 강제적인 제약이 아닌 권장 방식입니다. 하위 클래스 로더는 자신이 직접 클래스를 로드하기 전에 상위 클래스 로더에게 우선적으로 로딩을 위임합니다. 상위 로더가 해당 클래스를 처리하지 못하면, 하위 로더가 스스로 로드하는 구조입니다.
자바 시 ...
7월 9일 19:30에 게시됨
Java SPI를 활용한 서비스 발견 및 동적 로딩 메커니즘 심층 분석
자바 에코시스템과 확장성
자바 플랫폼은 다양한 외부 모듈과 유연하게 연동할 수 있도록 설계되었으며, 그 중심에는 Service Provider Interface(SPI)가 있습니다. SPI는 컴파일 시점이 아닌 런타임에 특정 인터페이스의 구현체를 탐색하고 인스턴스화하는 서비스 발견(Service Discovery) 패턴의 표준 구현체입니다. JDBC 드라이버 로딩이나 슬리프(SLF4J) 로거 바인딩 ...
6월 13일 18:46에 게시됨