OSGi Blueprint 컨테이너 스펙에서는 Spring 동적 모듈 프로젝트에서 파생된 OSGi에 대한 종속성 인젝션 프레임워크를 정의합니다. 이 스펙에서는 XML module blueprint에서 인수화된 OSGi 번들에서 핵심 Spring 프레임워크에 기반한 OSGi용 컴포넌트 모듈을 정의합니다. 모듈 Blueprint는 번들 내 함께 세분화된 컴포넌트를 연결하는 방법을 설명하는 구성 파일입니다. OSGi Blueprint 컨테이너 스펙에 대한 자세한 정보는 OSGi Alliance 웹 사이트에서 Compendium Specification을 참조하십시오.
모듈 컴포넌트는 컴포넌트에 구성된 종속성을 삽입하고 해당 라이프사이클을 관리하는 Spring 애플리케이션 컨텍스트 컨테이너와 동등한 module context container에서 관리됩니다. 모듈 Blueprint의 형식은 Spring 애플리케이션 구성 파일에 기반합니다. Spring 프레임워크의 중대한 발전은, 모듈 Blueprint를 통한 OSGi 서비스 레지스트리와의 통합 및 OSGi 번들로 알려진 배치 단위입니다. 번들의 클라이언트에 공개된 OSGi 서비스 및 번들에서 이용하는 OSGi 서비스는 모듈 Blueprint에서 선언되며 런타임 모듈 컨텍스트 컨테이너에 의해 OSGi 서비스 레지스트리에서 등록 또는 검색됩니다.
Blueprint 애플리케이션에서 모듈 컴포넌트는 모듈 컨텍스트 컨테이너에서 라이프사이클을 관리하는 Java™ 컴포넌트입니다. 모듈 컴포넌트 구성은 여기서 의존하는 자원 및 컴포넌트에 대한 참조를 포함합니다. 모듈 컨텍스트 컨테이너는 모듈 컴포넌트에 구성을 삽입합니다. 외부 팩토리 및 서비스에 종속된 컴포넌트 대신 컴포넌트에 구성을 삽입하면 격리 상태로 컴포넌트를 더 쉽게 테스트할 수 있습니다.
모듈 컨텍스트 컨테이너는 OSGi 번들로 어셈블되는 관리 컴포넌트 세트입니다. 모듈 컨텍스트는 컴포넌트 구성의 인젝션 및 여기서 포함하는 관리 컴포넌트의 라이프사이클 관리를 담당합니다.
모듈 Blueprint에서 선언 구성은 OSGi 서비스 레지스트리에서 번들의 특정 관리 컴포넌트를 서비스로 내보내도록 지정할 수도 있습니다. 또한 관리 컴포넌트로 삽입할 서비스에 대해서나 서비스 레지스트리를 통해 획득한 서비스 또는 서비스 세트에 따라 번들의 관리 컴포넌트가 달라지도록 선언할 수 있습니다.
전반적으로 OSGi Blueprint 컨테이너 스펙에서는 해당 Blueprint에서 작성된 런타임 컨텍스트 및 모듈 Blueprint(구성 정보)를 통해 애플리케이션 모듈이 OSGi 번들로 구현되는 애플리케이션 아키텍처에 대해 설명합니다. 모듈은 서비스 레지스트리를 통해 상호작용하는 피어입니다.